0

我有以下设置:

celery-with-redis - 3.0        - active 
celery          - 3.0.12       - active 
django-celery   - 3.0.11       - active
django-kombu    - 0.9.4        - active
kombu           - 2.5.8        - active
redis           - 2.4.10

我的芹菜设置如下:

BROKER_URL = "redis://:password@localhost:6379/0"
REDIS_DB = 0
REDIS_CONNECT_RETRY = True
CELERY_SEND_EVENTS=True
CELERY_RESULT_BACKEND="redis://:password@localhost:6379/0"
CELERY_TASK_RESULT_EXPIRES =  10
CELERYBEAT_SCHEDULER="djcelery.schedulers.DatabaseScheduler"

检查我的 celerybeat 日志文件,它具有以下内容

<ModelEntry: celery.backend_cleanup celery.backend_cleanup(*[], **{}) {<crontab: * 4 * * * (m/h/d/dM/MY)>}>
<ModelEntry: testing  spider.tasks.downloadCEA(*[], **{}) {<crontab: 4 9 * * * (m/h/d/dM/MY)>}>
[2013-04-02 09:16:15,364: DEBUG/MainProcess] Celerybeat: Ticking with max interval->5.00 seconds

但是,它并没有像日志文件中预期的那样唤醒和休眠,通过管理界面修改的任务更改也没有反映在日志文件中。但是,当我重新启动 redis 时,适当的行为又回来了。

任何人都可以就此提出建议吗?

更新:我快速top检查了我的 redis 进程——它消耗了 100% 的 cpu 使用率!任何人?

4

1 回答 1

1

不好意思,在这里回答我的问题。

原来我使用的是旧版本的 kombu,并且许多与 redis 的连接都是由工作人员创建的。将问题升级到更高版本解决了该问题。

@asksol在此处描述了此问题。

于 2013-04-02T13:36:39.033 回答