我有一个应用程序,它使用Angular作为前端,并与运行Django RF的API进行通信。
现在,让我试着概述一下我希望找到一个简单解决方案的目标。
当用户运行报告时,API的工作版本会生成报告以防止主API陷入困境。该报告运行了几秒钟/分钟。用户刷新页面,瞧,他们的报告就在那里。
我想要实现的是消除整个"用户刷新页面"这个过程的一部分。
我的目标是通过websockets进行此操作。
我真的想要一些简单的东西:
现在,我们开始冒险进入一个我不熟悉的领域。 Websockets可以做到这一点,对吧?我只需要创建一个连接并等待工作人员发送all-clear。
现在,这里变得毛茸茸。
我花了大部分时间通过图书馆而且无法找到我需要的东西。我最接近的是this,但它与restframework冲突。我遇到了大量的404错误,我认为这与rf管理网址的方式有关。
我确实需要一个简单的事件监听器。必须有更好的方法,对吧?为了澄清,我不想做一些蛮力的事情,比如默默地ping API报告状态。这有点怪。我希望API告诉我什么时候准备就绪。
答案 0 :(得分:0)
以基本方式,可以使用django-websocket-redis
之类的东西,并使用Django信号传递消息。 ws4redis处理了很多棘手的问题。然而,websockets很奇怪,说实话,我怀疑你需要它们。您可以只轮询一些具有作业状态的路径。如果你需要快速完成它,我会走那条路。