项目采用 django ( v2.1.7 )开发,用了 django-celery(v3.3.1)做异步
celery 配置如下
import djcelery
djcelery.setup_loader()
BROKER_URL = 'redis://localhost/3'
CELERY_RESULT_BACKEND = 'redis://localhost/4'
CELERY_ENABLE_UTC = False
CELERYD_CONCURRENCY = 20
CELERYD_MAX_TASKS_PER_CHILD = 4
CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
在执行异步任务的过程中,偶尔会出现任务卡住的情况,具体表现是任务并没有执行,但任务在一个小时后就会再次自动执行,等于是卡整整一个小时
卡任务的情况偶然出现,不规律
当任务卡住的时候,服务器上同时运行的任务并不多,少于 4 个,再次运行任务就能正常执行,查了好久不知道哪里的问题,有没有大佬可以说说排查思路?或者是遇到过类似的问题?
1
zhoudaiyu 2021-05-09 09:19:17 +08:00 via iPhone
可以装个 flower 看看任务执行情况 pip install flower
|