将 Django 升级到 1.6 后,我的 celery worker 正在消耗 RAM。似乎分配给工作人员的内存没有被释放,并且在每项任务之后都会增长。
相关设置:
# DB:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'somedb',
'USER': '',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '',
}
}
# CELERY SETTINGS:
CELERY_RESULT_BACKEND = 'redis://'
BROKER_URL = 'redis://'
相关包版本:
Django==1.6
celery==3.0.24
django-celery==3.0.23
billiard==2.7.3.34
kombu==2.5.16
redis==2.7.6
发生在手动运行工作程序的本地环境(带有DEBUG=False
)和使用 Upstart 运行 celery 的暂存环境中。
更新:
- 尝试设置
autocommit=False
没有成功。 - 可能与 Django 版本升级无关,而是与我必须升级以切换到 1.6 的某些设置或 3rd 方包有关。