【发布时间】:2014-11-06 01:50:24
【问题描述】:
我正在使用 Cerely 来管理我的 django 项目的延迟任务。
当我尝试按照 manual 中的建议关闭 celery 时遇到问题。
>> ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9
kill: No such process
>> ps auxww | grep 'celery worker' | awk '{print $2}
28630
>> ps auxww | grep 'celery worker' | awk '{print $2}
28633
PID 不断变化,很难发送杀死信号。
我该如何解决这个问题?提前致谢。
[更新]
django settings.py
import djcelery
djcelery.setup_loader()
BROKER_URL = 'amqp://guest:guest@localhost:5672/' # Using RabbitMQ
CELERYD_MAX_TASKS_PER_CHILD = 1
PID 检查(重启后)
>> ps auxww | grep 'celery worker' | awk '{print $2}'
3243
>> manage.py celery worker --loglevel=info
celery@{some id value}.... ready
>> ps auxww | grep 'celery worker' | awk '{print $2}'
3285
3293
3296
>> ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9
kill: No such process
>> ps auxww | grep 'celery worker' | awk '{print $2}'
3321
>> ps auxww | grep 'celery worker' | awk '{print $2}'
3324
问题
- 即使重新启动,至少还有一名芹菜工人。并且它的PID不断变化。
- Celery 守护程序同时执行两个工作程序。我怎样才能将它修复到只有一名工人?
【问题讨论】:
-
工人似乎正在重新启动。它真的有效吗,即执行任务?如果是,您是否使用
--maxtasksperchild/CELERYD_MAX_TASKS_PER_CHILD运行它? -
感谢@VasiliyFaronov。我添加了关于我的问题的更多详细描述。
标签: celery django-celery