为什么Celery撤销所有的计划任务并丢弃它们



我有一个芹菜的问题:从某一点(芹菜工作日志不显示根本原因),所有任务(由celerybeat每5分钟调度)都被工人撤销和丢弃。

celerybeat和celeryd(工人)的日志中没有任何线索可以说明为什么会发生这种情况。我注意到,从某一点开始,每50个任务中就有1个被撤销,被撤销任务的频率一直在上升,直到24小时后所有任务都被系统地撤销。

我正在使用Redis作为代理,问题发生在Linux部署的芹菜。

你知道这个问题的原因是什么吗?如果你需要更多的信息,不要犹豫,问!

在查看日志中的任务uid后,我弄清楚了发生了什么:

[2015-10-27 05:27:45,879: INFO/MainProcess] Received task: hidden_task_name[29e47148-8865-4d46-a7ef-f8a0d625fe05] expires:[2015-10-27 05:57:45.870869+00:00]
[2015-10-27 06:28:23,696: INFO/MainProcess] Discarding revoked task: hidden_task_name[29e47148-8865-4d46-a7ef-f8a0d625fe05]

任务被丢弃,因为我使用CELERYBEAT_SCHEDULE:

设置了任务过期日期。
CELERYBEAT_SCHEDULE['---'] = {
        'task': ...,
        'schedule': ...,
        'args': (),
        'options': {
            # Do not run the task if it starts 30 minutes after it is
            # scheduled. This is useful if the Celery workers go down,
            # celerybeat will keep adding tasks to the queue.
            'expires': 1800
        }
    }

我的错

相关内容

  • 没有找到相关文章

最新更新