0

我有一个任务databases query。早些时候worker2从我们的系统中记录下来。大约 30 分钟后,worker1记录了相同的任务,很像restarting the job,这打破了我的sql查询。我的问题是

  • 如果worker2失败然后开始worker1
  • 如果worker1启动失败了worker2

从我的代码中,我没有设置任何时间限制?提前感谢您的任何想法。

我正在使用 job = chain(single_job),但我只有一个 single_job job() 开始工作。

-更新:

我解决了这个错误,如果你有同样的问题,你可以在下面做。

请检查visibility timeout您的celery

请检查版本以升级一个。

请取消查询重试sql,有时sql查询不需要message queue

4

1 回答 1

1

大约有十八种不同的情况可能导致您所描述的情况。最常见的三种:

  1. 有人安排您的作业按两次都发生的时间表运行
  2. 某人/某事启动了您任务的另一个实例
  3. 任务调用在某处失败,这引发了大约 30 分钟后运行的重试。
于 2021-09-12T04:44:23.127 回答