我有一个成熟的生产django-tastypie服务器,它有一个角度客户端服务,我需要用实时数据更新客户端。我正在为客户端考虑websockets。 我的问题是哪种策略最适合服务器端:
答案 0 :(得分:0)
我建议使用这个:
https://github.com/jrief/django-websocket-redis
我在生产中使用它并且效果很好;主要的好处是它是非阻塞的,并与Django的auth系统集成(您可以通过websocket向特定用户,组或所有用户发送消息)。
如果你需要运行异步任务,@ Randi建议使用Celery是一个非常好的建议:芹菜很棒。将其与django-websocket-redis相结合,您可以执行长时间运行的异步任务,并在任务运行时为您的用户提供实时更新。
另一种可能不太合适的解决方案是每隔2-5秒从角度客户端轮询服务器以获取更改/通知。但是,这是“旧学校”方法,可能会给您的服务器增加很多负载。这种方法可以节省管理额外服务的开销,如果你的用户数量很少,可能会有更好的选择。