向djang添加异步功能

2024-06-16 13:01:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个成熟的、生产性的django-tastype服务器,其中我需要用实时数据更新客户机服务。我在为客户考虑websockets。 我的问题是哪种策略最适合服务器端:

  1. 使用一些处理异步的djangoplugin
  2. 为了处理异步部分,提出一个新的tornado服务器(然后让它学习我的django用户/身份验证模型)
  3. 在django内部嵌入龙卷风(比如this

你有什么建议?或者其他我没想到的事?在


Tags: 数据django用户模型服务器身份验证客户机客户
1条回答
网友
1楼 · 发布于 2024-06-16 13:01:37

我建议使用这个:

https://github.com/jrief/django-websocket-redis

我已经在生产中使用过它,它工作得非常好;主要优点是它是非阻塞的,并且与Django的auth系统集成(您可以通过websocket向特定用户、组或所有用户发送消息)。在

@Randi建议在需要运行异步任务时使用芹菜,这是一个非常好的建议:芹菜非常棒。结合django-websocketredis,您可以执行长时间运行的异步任务,并在任务运行时向用户提供实时更新。在

另一种可能不太合适的解决方案是每隔2-5秒轮询一次服务器,以获取来自angular客户端的更改/通知。但是,这是“老派”的方法,可能会给服务器增加很多负载。这种方法可以节省管理额外服务的开销,如果用户数量较少,则可能是更好的选择。在

相关问题 更多 >