如何将django应用程序与tcp服务器集成

时间:2018-07-09 19:27:58

标签: django python-asyncio

有没有办法连接django和使用asyncio构建的TCP服务器?

我有一个TCP服务器,该服务器应该与客户端保持长期连接,但是我想将其与Django集成在一起,以便用户可以基于Django的表单通过TCP服务器发送数据

  • 我听说过芹菜,但是我不知道它是否适合此应用程序
  • 我目前的想法是在接收代码的django代码中放置一个临时的tcp客户端,并将其发送数据到tcp服务器。我宁愿不这样做,因为我必须向TCP服务器添加更多特殊情况,以便识别出数据是从Django发送的,而不是从其其他客户端之一发送的

1 个答案:

答案 0 :(得分:0)

尝试aiohttp-wsgi。它在aiohttp之上提供了asyncio的WSGI桥,因此您可以在asyncio流程中处理Django请求。

请注意,当使用Django作为Web框架时,模型实例的生命周期通常不是问题,因为对象的生存时间与创建它们的视图的生存时间一样长。当使用Django作为服务时(在Django HTTP请求之外),不会发生这种情况,您需要仔细同步对模型实例的访问。这涉及避免使用缓存/较旧的实例进行修改,并在其他进程(例如Django视图或其他服务代码)可能已更改它们的任何时候刷新模型对象。 Django CRM不保证代表同一数据库记录的模型对象的唯一性。

相关问题