mirror of
https://github.com/element-hq/synapse
synced 2024-08-20 16:40:20 +00:00
Make 'affinity' package optional
This commit is contained in:
parent
3fed5bb25f
commit
ea87cb1ba5
2 changed files with 17 additions and 2 deletions
|
@ -12,10 +12,16 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import gc
|
import gc
|
||||||
import logging
|
import logging
|
||||||
|
import sys
|
||||||
|
|
||||||
|
try:
|
||||||
|
import affinity
|
||||||
|
except:
|
||||||
|
affinity = None
|
||||||
|
|
||||||
import affinity
|
|
||||||
from daemonize import Daemonize
|
from daemonize import Daemonize
|
||||||
from synapse.util import PreserveLoggingContext
|
from synapse.util import PreserveLoggingContext
|
||||||
from synapse.util.rlimit import change_resource_limit
|
from synapse.util.rlimit import change_resource_limit
|
||||||
|
@ -78,6 +84,13 @@ def start_reactor(
|
||||||
with PreserveLoggingContext():
|
with PreserveLoggingContext():
|
||||||
logger.info("Running")
|
logger.info("Running")
|
||||||
if cpu_affinity is not None:
|
if cpu_affinity is not None:
|
||||||
|
if not affinity:
|
||||||
|
quit_with_error(
|
||||||
|
"Missing package 'affinity' required for cpu_affinity\n"
|
||||||
|
"option\n\n"
|
||||||
|
"Install by running:\n\n"
|
||||||
|
" pip install affinity\n\n"
|
||||||
|
)
|
||||||
logger.info("Setting CPU affinity to %s" % cpu_affinity)
|
logger.info("Setting CPU affinity to %s" % cpu_affinity)
|
||||||
affinity.set_process_affinity_mask(0, cpu_affinity)
|
affinity.set_process_affinity_mask(0, cpu_affinity)
|
||||||
change_resource_limit(soft_file_limit)
|
change_resource_limit(soft_file_limit)
|
||||||
|
|
|
@ -40,7 +40,6 @@ REQUIREMENTS = {
|
||||||
"pymacaroons-pynacl": ["pymacaroons"],
|
"pymacaroons-pynacl": ["pymacaroons"],
|
||||||
"msgpack-python>=0.3.0": ["msgpack"],
|
"msgpack-python>=0.3.0": ["msgpack"],
|
||||||
"phonenumbers>=8.2.0": ["phonenumbers"],
|
"phonenumbers>=8.2.0": ["phonenumbers"],
|
||||||
"affinity": ["affinity"],
|
|
||||||
}
|
}
|
||||||
CONDITIONAL_REQUIREMENTS = {
|
CONDITIONAL_REQUIREMENTS = {
|
||||||
"web_client": {
|
"web_client": {
|
||||||
|
@ -59,6 +58,9 @@ CONDITIONAL_REQUIREMENTS = {
|
||||||
"psutil": {
|
"psutil": {
|
||||||
"psutil>=2.0.0": ["psutil>=2.0.0"],
|
"psutil>=2.0.0": ["psutil>=2.0.0"],
|
||||||
},
|
},
|
||||||
|
"affinity": {
|
||||||
|
"affinity": ["affinity"],
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue