使用AJAX轮询读取Celery任务进度

linuxer

我有一个简单的Celery任务,可以在数据库中写入一些进度数据。我需要使用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参数发送事件。

我想知道更新进度日并检索进度的正确方法是什么。

谢谢。

linuxer

经过一番谷歌搜索后,我发现“ READ UNCOMMITTED”未在PostgreSQL中实现,将来很有可能不会实现。

我还找到了一个扩展程序,使您可以读取脏数据。这是项目的一部分,在此处输入链接描述,但这迫使我使用原始sql来获取所需的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Celery + Django-使用Django消息框架进行状态和报告成功或失败的轮询任务

来自分类Dev

任务进度未更新Celery + RabbitMQ上的最新状态

来自分类Dev

对于轮询其他 API 的 API,我应该使用任务队列 (Celery)、ayncio 还是两者都不使用?

来自分类Dev

如何使用Ajax来实现进度条以完成长的芹菜任务

来自分类Dev

使用Symfony Process组件进行Ajax轮询

来自分类Dev

使用setTimeout的jQuery递归ajax轮询

来自分类Dev

在@ApplicationScope的ManagedBean中使用Ajax进行轮询

来自分类Dev

使用setTimeout进行AJAX Webworker轮询

来自分类Dev

使用setTimeout的jQuery递归ajax轮询

来自分类Dev

BackgroundWorker-使用“子任务”报告进度

来自分类Dev

如何使用celery守护程序调用celery任务

来自分类Dev

在Celery任务中使用导入的变量

来自分类Dev

Python:模拟无法在celery任务中使用

来自分类Dev

使用Redis从C ++触发Celery任务

来自分类Dev

使用 Django、celery 和 Redis 安排任务

来自分类Dev

为什么Celery与Redis经纪人一起使用轮询?

来自分类Dev

如何使用celery worker从SQS轮询消息,消息为JSON格式,worker无法解码该格式

来自分类Dev

使用jQuery的Ajax上传进度栏

来自分类Dev

使用 Ajax 获取页面加载进度

来自分类Dev

如何使用JProgressBar衡量任务进度并对其进行更新

来自分类Dev

如何使用JProgressBar衡量任务进度并对其进行更新

来自分类Dev

Ajax 轮询实现

来自分类Dev

使用Celery同时执行两项任务

来自分类Dev

从Celery获取最新任务并使用Django显示它们

来自分类Dev

celery beat调度程序未使用crontab调度任务

来自分类Dev

Celery在使用Django数据库执行之前撤销任务

来自分类Dev

使用主题交换来运行多个Celery任务

来自分类Dev

如何在 Django App 中使用 Celery 异步运行任务?

来自分类Dev

在 Flask 中使用 redis 后端的 Celery 任务优先级

Related 相关文章

  1. 1

    Celery + Django-使用Django消息框架进行状态和报告成功或失败的轮询任务

  2. 2

    任务进度未更新Celery + RabbitMQ上的最新状态

  3. 3

    对于轮询其他 API 的 API,我应该使用任务队列 (Celery)、ayncio 还是两者都不使用?

  4. 4

    如何使用Ajax来实现进度条以完成长的芹菜任务

  5. 5

    使用Symfony Process组件进行Ajax轮询

  6. 6

    使用setTimeout的jQuery递归ajax轮询

  7. 7

    在@ApplicationScope的ManagedBean中使用Ajax进行轮询

  8. 8

    使用setTimeout进行AJAX Webworker轮询

  9. 9

    使用setTimeout的jQuery递归ajax轮询

  10. 10

    BackgroundWorker-使用“子任务”报告进度

  11. 11

    如何使用celery守护程序调用celery任务

  12. 12

    在Celery任务中使用导入的变量

  13. 13

    Python:模拟无法在celery任务中使用

  14. 14

    使用Redis从C ++触发Celery任务

  15. 15

    使用 Django、celery 和 Redis 安排任务

  16. 16

    为什么Celery与Redis经纪人一起使用轮询?

  17. 17

    如何使用celery worker从SQS轮询消息,消息为JSON格式,worker无法解码该格式

  18. 18

    使用jQuery的Ajax上传进度栏

  19. 19

    使用 Ajax 获取页面加载进度

  20. 20

    如何使用JProgressBar衡量任务进度并对其进行更新

  21. 21

    如何使用JProgressBar衡量任务进度并对其进行更新

  22. 22

    Ajax 轮询实现

  23. 23

    使用Celery同时执行两项任务

  24. 24

    从Celery获取最新任务并使用Django显示它们

  25. 25

    celery beat调度程序未使用crontab调度任务

  26. 26

    Celery在使用Django数据库执行之前撤销任务

  27. 27

    使用主题交换来运行多个Celery任务

  28. 28

    如何在 Django App 中使用 Celery 异步运行任务?

  29. 29

    在 Flask 中使用 redis 后端的 Celery 任务优先级

热门标签

归档