Django模型没有保存到Celery Task内的数据库中

And*_*res 5 python django postgresql redis celery

我遇到了一个非常讨厌的情况.我有以下设置.我有一个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

任何关于为什么会发生这种情况的想法都将不胜感激

小智 4

保存后是否重新获取对象?即不只是查看保存前获得的实例?