Celery任务如何访问Django数据库抽象API?是否需要使用独立Django ORM使用策略之一从头开始编码,还是采用更简化的内置方式或常用方法?
似乎没有人问这个问题。但是,对我而言,这是至关重要的。
这个example意味着它没什么大不了的,但是有人可以解释一下Celery和Django之间的会话管理和ORM范围是如何工作的吗?
答案 0 :(得分:5)
默认情况下,Celery会挑选其任务参数。 Django模型实例也可以腌制。
问题在于,腌制模型实例就像在那时拍摄的快照一样。 Unpickling不会触及数据库。
这是好还是坏,我想,取决于你的需求。我倾向于将主键发送到我的任务中并重新查询相关对象。
答案 1 :(得分:0)
您可能想查看django-celery。
当做芹菜任务时,你想把所有细节传递给芹菜,例如发送电子邮件,你要传递“从”,“到”,“主题”和“体”。
如果您想要通知用户正在完成的操作,您可能希望查看Django中的messages framework之类的内容。
我希望有所帮助。