我通过after_insert事件启动芹菜任务。
一些芹菜任务最终更新了db,因此需要新插入行的id。这很容易出错,因为看起来如果celery任务立即开始运行,有时sqlalchemy将不会完成对db的提交并且芹菜不会找到该行。
我的其他选择是什么?
我想我可以以某种方式收集这些芹菜任务,只发送给他们" after_commit"但感觉不必要的复杂。
答案 0 :(得分:0)
它没有那么复杂,子类Session,提供了一个通过after_insert附加任务的列表。然后在after_commit中运行列表。