Celery何时会启动新的worker?任务重复执行打断SQL查询问题问询
我有一个用于数据库查询(databases query)的任务,此前系统日志记录到worker2执行该任务,约30分钟后,同一任务的执行日志归属变为worker1,类似重启任务(restarting the job)的行为导致我的sql查询被打断。我的疑问如下:
- 是否是
worker2执行失败后触发了worker1启动执行该任务? - 是否是
worker1先启动执行,失败后才触发worker2执行?
我的代码中没有设置任何超时限制,提前感谢大家的分析和建议。
我当前的调用逻辑为job = chain(single_job),仅存在一个single_job,通过job()启动任务。
更新
我已经解决了该问题,如果你遇到相同故障,可以参考以下方案排查:
请检查你的
celery对应的visibility timeout配置
请检查celery版本,尝试升级到最新版本
请取消sql查询类任务的重试配置,部分sql查询场景不需要引入消息队列(message queue)。
内容的提问来源于stack exchange,提问作者Jaden
相关产品推荐
相关产品推荐

