我遇到了一个非常讨厌的情况.我有以下设置.我有一个django模型代表一个带有django FSM字段的FSM
我有一个芹菜任务,发送一封电子邮件,然后推进主要对象FSM的状态.从芹菜任务的角度来看,对象"似乎"得以保存.但是从主要的django进程的角度来看,对象没有被更新.奇怪的是,辅助对象正在被妥善保存到数据库中,以后可以从主django进程访问.
我明确地调用.save()
了Celery任务中的对象,并且该date_last_modified = models.DateTimeField(auto_now=True, null=True)
字段在Celery任务中的后期时间戳比主线程更晚,尽管我不确定这是否有任何指示,即它可能已经更新但是更新有没有被冲到DB.
我正在使用django 1.5.1,postgresql 9.3.0,celery v3.1.0,Redis 2.6.10
像这样运行芹菜
$ celery -A tracking worker -E -B -l info
任何关于为什么会发生这种情况的想法都将不胜感激