django - 芹菜节拍处理的消息未从就绪状态中删除
问题描述
我将芹菜节拍定义为:
@periodic_task(run_every=(crontab(minute='*/15')), name='threshold_monitor', ignore_result=True, queue='default', options={'queue': 'default'})
def threshold_monitor():
#Threshold check login
Celery 通过 supervisord 运行:
celery -A ProjectName beat --loglevel=info
该任务每 15 分钟执行一次,但并未按预期从 celery 队列中删除。这个数字在 RabbitMq 中不断增长。这是预期的行为吗?如果没有,我该如何解决。
其他芹菜设置:
CELERY_RESULT_BACKEND = 'rpc'
CELERY_ACKS_LATE = True
CELERY_IGNORE_RESULT = True
CELERY_TASK_IGNORE_RESULT = True
CELERYD_PREFETCH_MULTIPLIER = 1
CELERY_TASK_DEFAULT_QUEUE = 'default'
CELERY_TASK_ALWAYS_EAGER = False
CELERYD_TASK_TIME_LIMIT = 60
RabbitMQ 队列截图:注意默认队列项被执行和释放,但是 celery 一直在增长。
解决方案
推荐阅读
- awk - 如何在忽略较少数量的连续行的同时将每块 3 行合并在一起?
- css - 换行 Office UI Fabric DetailsRow 的文本
- javascript - 反应通过日期作为道具:“未定义不可迭代”
- ros - 如何从 MD49 编码器输出发布 odom (nav_msgs/Odometry)?
- javascript - Sails js 和 GeoJSON 格式
- r - 在 r 中的数据集上运行 diff/raw 差异中的差异,如何解释结果?
- android - android上的Flutter Splash Screen确实闪烁并调整大小
- python - 如何使用带有冒号的日期时间格式的 if 语句而不会遇到错误
- python - 使用 Levenshtein 距离从输入词中找到一个编辑距离词的算法?
- twilio - Nexmo - 根据目的地位置从号码中选择号码