在 Django 中使用 Celery 和 Ajax 动态更新网页



我需要向用户显示一些分析;但是,有时这些分析可能需要一段时间才能处理(有时需要2-5秒)。与其等待这些结果,我想我想在网页上以动态方式更新它们。

我已经以有限的方式实现了芹菜,但我想做的是将一些任务发送给芹菜,让屏幕渲染,一旦函数完成,将返回值发送到网页 由 udpated。

创建任务后,我应该监视其状态,还是在任务完成后直接将 json 发送到网页? 一些代码示例会有所帮助。

谢谢。

"

推送"数据很难用django做。 它本身不受支持,解决方案充其量是黑客。

有更简单的选项,最受欢迎的是 ajax 轮询。

  1. 用户可以发出执行分析的请求。

  2. Django 对进程进行排队,并将其标记为存储中的处理

  3. 每隔 x 秒,用户就会发出一次 AJAX 调用,请求请求的状态。

  4. 请求完成后,存储将更新以反映此情况,下一个轮询请求可以检索相应的数据。

HTML5 原生支持基于套接字的通信。 但是 Django 不支持它。

Django 向用户推送 HTTP 响应

相关内容

  • 没有找到相关文章

最新更新