Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要向用户显示一些分析;但是,有时这些分析可能需要一段时间才能完成(有时需要 2-5 秒)。而不是等待这些结果,我想我想在网页上以动态的方式更新它们。
我已经以有限的方式实现了 celery,但我想做的是向 celery 发送一些任务,让屏幕渲染,一旦功能完成,将返回值发送到网页到 udpated。
创建任务后,我应该监控它的状态,还是完成后我可以直接将 json 发送到网页?一些代码示例会有所帮助。
谢谢你。
django 很难“推送”数据。它本身不受支持,并且解决方案充其量只是hacky。
有更简单的选项,最流行的是 ajax 轮询。
用户可以发起进行分析的请求。
django 将进程排队并将其标记为存储中的处理
用户每隔 x 秒进行一次 ajax 调用,请求请求的状态。
当请求完成时,存储被更新以反映这一点,下一个轮询请求可以检索适当的数据。
HTML5 原生支持基于套接字的通信。但 django 不支持它。
Django 向用户推送 HTTP 响应