我在 Django 中使用芹菜。我必须为用户提供一个选项来检查失败的任务,必要时对失败的任务数据进行修改并再次提交。我见过这个线程 -Celery Storing unrecoverable task failures for later resubmission。所以我知道 celery 不存储任务的原始 args 和 kwargs,我们需要注意这一点。我可以这样做。但是,如果我有一个提交链“SubTask1 | SubTask2 | SubTask3”的主任务“MainTask1”,并且如果 SubTask2 失败,那么我看到在 SubTask2 成功之前不会执行 SubTask3。但是如果 SubTask2 在最大重试次数后失败,则 SubTask3 永远不会提交。
我的问题是——
当 SubTask2 失败时,我可以坚持 args 和 kwargs。但是如何获取链中剩余任务的信息呢?
celery_taskmeta 表的“result”和“meta”列中究竟存储了什么?
何时填充表 celery_tasksetmeta?
谢谢,