Django 芹菜:任务执行得太快,无法检索更新的数据库

Django 芹菜:任务执行得太快,无法检索更新的数据库,django,celery,django-celery,Django,Celery,Django Celery,我正在使用Cerely(版本3.0.25)管理django(版本1.5.4)项目中的延迟任务 我在保存查询后试图通过芹菜检索更新的数据库时遇到问题 下面是示例代码。(views.py) 简而言之,当我将任务延迟一秒钟时,我得到了期望值。然而,当我毫不延迟地执行芹菜任务时,并没有得到更新的值 我认为问题在于“芹菜的执行速度太快,无法检索更新的数据库” 我怎样才能毫不拖延地获得期望值?下面是我认为的伪代码 (query.save() | GetLastID()).delay() 提前感谢。一种方法

我正在使用Cerely(版本3.0.25)管理django(版本1.5.4)项目中的延迟任务

我在保存查询后试图通过芹菜检索更新的数据库时遇到问题

下面是示例代码。(views.py)

简而言之,当我将任务延迟一秒钟时,我得到了期望值。然而,当我毫不延迟地执行芹菜任务时,并没有得到更新的值

我认为问题在于“芹菜的执行速度太快,无法检索更新的数据库”

我怎样才能毫不拖延地获得期望值?下面是我认为的伪代码

(query.save() | GetLastID()).delay()

提前感谢。

一种方法是在调用芹菜任务之前显式提交更改

示例使用

从django.db导入事务

@transaction.commit_manually#是在django view函数中保存SampleModel的代码吗?@falsetru是的,在views.py中。这似乎解决了问题。我现在无法检查解决方案,因此稍后我将修改此代码并让您知道结果。谢谢你的快速回答。
(query.save() | GetLastID()).delay()
from django.db import transaction

@transaction.commit_manually  # <----
def view(request, ...):
    query = SampleModel(field_A="A", field_B="B")
    query.save()
    transaction.commit()  # <----

    GetLastID.apply_async(args=[])