我有一个简单的芹菜任务,在数据库中写入一些进度数据。我需要使用 django 视图阅读此进度更新以将更新提供给用户。
我使用自己的表来编写进度并使用客户端的 AJAX 轮询读取它。现在它不起作用,我不知道原因。
我的数据库后端是 PostgreSQL。我尝试使用以下(在阅读视图中)更改事务隔离级别:
from django.db import transaction
#4 is READ UNCOMITTED
transaction.connections.all()[0].connection.set_isolation_level(4)
我不确定这是否会更改与数据库的新连接或当前事务正在使用的连接的隔离级别,但它似乎不起作用。在任务完成并提交事务之前,无法读取进度数据。
这是我尝试的第二种方法。
我还找到了 update_state,我用 写了所有的进度更新update_state
,但它似乎并没有真正写在数据库中。我运行 celerycam 并配置 celery 以使用 -E 参数发送事件。
我想知道更新进度日并检索它的正确方法是什么。
谢谢。