Celery 工作人员不执行 django 数据库更新任务

问题描述 投票:0回答:1

我正在开发一个仪表板,它需要运行长时间的后台任务,并最终更新数据库中的模型。我正在使用

Celery
来执行后台操作

这是我的任务函数

tasks.py

@shared_task()
def generate_content_async(system_prompt, user_prompt, section_id):

    data = get_data() # long running operation
    
    section = Section.objects.get(id = id)
    section.data = data
    section.save()

    return f"Section with section id: {id} updated"

请注意,我仅更新

data
模型中
Section
的值。代码中的所有内容都工作正常,没有任何问题,后台任务成功完成,但数据库更新不起作用。

出现这样的问题的原因是什么?

蒂亚

我尝试使用

transactions
在提交后执行任何数据库操作,但没有成功(这不应该是问题,因为在我的情况下没有正在进行的事务)。

python django celery
1个回答
0
投票

尝试获取部分实例时出现拼写错误。应该是

section = Section.objects.get(id=section_id)
© www.soinside.com 2019 - 2024. All rights reserved.