我当前的芹菜装置中大约有10,000个预定任务。我不知道计划的任务是什么,因此决定使用它们提前几个月发送后续电子邮件。
回顾过去,将来安排一个任务多于一个小时可能永远不是一个好主意,因为每次重新启动工作程序时,它都必须重新接收来自RabbitMQ的每个计划任务,然后它们都坐在内存中。
我的问题是,如果我必须撤消一项任务,它不仅会删除它。任务保留在内存中,但是吊销队列现在包含任务的ID。当它准备执行时,芹菜会检查它是否被撤销,如果被撤销,它将在此时将其撤销。
但是,该任务将一直保留在内存中,直到那时,如果我随时重启我的工作器,由于我没有使其永久化,因此撤消队列将被清除。
如何从芹菜工作者中永久删除任务?我基本上只需要将已确认的消息发送回rabbitMQ,以便rabbit一劳永逸地将其删除,如果我重新启动celery,它将不会回来。
我查看了文档和源代码,并尝试在shell中自己完成此操作,但我无法确定将任务挂接到rabbitMQ并永久弹出的正确位置。