【发布时间】:2010-03-03 17:21:11
【问题描述】:
我正在寻找一个 python 套接字服务器框架——不是处理 http,而是处理 tcp 套接字。我自己做过,但是添加所有功能很乏味。该框架将处理线程池、套接字设置、信号处理等。
一大特点是代码重载。如果我使用 apache/mod_python 或 django 或其他什么,我不必重新启动服务器以使其使用新的/更改的代码。有人知道这是怎么做到的吗?
谢谢!
科林
标签: python frameworks tcp
我正在寻找一个 python 套接字服务器框架——不是处理 http,而是处理 tcp 套接字。我自己做过,但是添加所有功能很乏味。该框架将处理线程池、套接字设置、信号处理等。
一大特点是代码重载。如果我使用 apache/mod_python 或 django 或其他什么,我不必重新启动服务器以使其使用新的/更改的代码。有人知道这是怎么做到的吗?
谢谢!
科林
标签: python frameworks tcp
Twisted 是通常的嫌疑人。在mod_wsgi 的情况下重新加载很容易,因为只需要重新启动 WSGI 服务器,而不是整个 Web 服务器(并不是说重新启动 Web 服务器那么困难,请注意...)。
【讨论】:
在守护模式下使用 Apache,mod_wsgi 并关注these guidelines。
更新:我提到 Apache 是因为您在问题中提到了 - 我假设您在谈论一个也充当套接字服务器的 Web 应用程序。
Python 库具有套接字服务器(请参阅the documentation)。 AFAIK 你不能在 Python 中进行热代码重新加载而不可能丢失数据包,因为你需要专门为热代码重新加载而设计的东西,例如 Erlang,或者只需要一个接收和排队数据包的哑套接字接收器,以及更智能的执行代码重新加载和数据包处理的后端进程。在这种情况下,您的接收者将充当代理。
【讨论】: