celery使用的时候,由于任务时间过长,任务会重复执行

原因:

   由于celery任务有心跳机制,当任务时间过长(约超过5min),所以认定为链接不畅,重启celery。同时因为没有接收到ack信息,那么当celery重启之后没有接收到的任务在重传机制下,会重复执行。

解决方法:

    1.禁止心跳(不推荐)
    2.在task任务过程中主动发送心跳

 

 

CELERY_BROKER_HEARTBEAT = 0
posted @ 2022-03-11 11:39  Lawliet_Y  阅读(1285)  评论(0编辑  收藏  举报