Make get_system_task_capacity portable

Signed-off-by: Steve Wills <steve@mouf.net>
This commit is contained in:
Steve Wills 2017-09-13 10:59:18 -04:00
parent 2dda863baf
commit b8651bfd72

View File

@ -17,6 +17,7 @@ import threading
import contextlib
import tempfile
import six
import psutil
# Decorator
from decorator import decorator
@ -581,12 +582,8 @@ def get_system_task_capacity():
from django.conf import settings
if hasattr(settings, 'SYSTEM_TASK_CAPACITY'):
return settings.SYSTEM_TASK_CAPACITY
try:
out = subprocess.check_output(['free', '-m'])
except subprocess.CalledProcessError:
logger.exception('Problem obtaining capacity from system.')
return 0
total_mem_value = out.split()[7]
mem = psutil.virtual_memory()
total_mem_value = mem.total/1024/1024
if int(total_mem_value) <= 2048:
return 50
return 50 + ((int(total_mem_value) / 1024) - 2) * 75