原因:
由于celery任务有心跳机制,当任务时间过长(约超过5min),所以认定为链接不畅,重启celery。同时因为没有接收到ack信息,那么当celery重启之后没有接收到的任务在重传机制下,会重复执行。
解决方法:
1.禁止心跳(不推荐) 2.在task任务过程中主动发送心跳
CELERY_BROKER_HEARTBEAT = 0