首页 > 解决方案 > Django Celery 作业在执行前一小时消失

问题描述

我们有这个 Django 应用程序,它发送有关状态更改事件的邮件通知,主要作为书面记录。邮件发送作业是异步的,不会破坏 Web 应用程序的交互性。我们为此使用 celery 任务。

从上周开始,一些工作开始被无声无息地抛弃。他们一直在队列中(通过 inspect reserved 可见),直到下一个 celery 工人重新启动,每 10 分钟发生一次。然后他们走了,但没有执行。

然后正好1 小时后,邮件被发送。不是在 10 分钟的时段开始,而是在原始发布后正好 1 小时。

有时我什至可以在几秒钟内获得由操作员操作安排的 3 个作业,其中一个,可能是中间的一个,将消失 1 小时。

来自同一批次的示例。前者立即发送,后者一个小时后发送:

Generated at 24th mars 2021 06:55:44, for address user@gmail.com
Sent from Airtribune.com on 24th March 2021 06:55:45
Generated at 24th mars 2021 06:55:49, for address user@gmail.com
Sent from .com on 24th March 2021 07:57:13

问题是:

提前致谢

标签: celerydjango-celerycelerybeat

解决方案


推荐阅读