Python WSGI服务器+;单事件循环中的控制器

Python WSGI服务器+;单事件循环中的控制器,python,wsgi,Python,Wsgi,我需要实现一个服务器,该服务器在单个事件循环中运行和服务WSGI应用程序(特别是用werkzeug编写的web服务),同时偶尔调用一个特定的函数,该函数可以控制服务器(例如,它可以暂停或关闭服务器)。(函数体并不重要,例如,它可能只是检查当前时间或另一个进程的状态。) 我可以想象在两个独立的过程中完成这项工作,并拥有一个专用的web服务接口。但在我看来,上述解决方案似乎更好 你对如何完成这项任务有什么想法吗 谢谢,, Jakub我终于想出了如何使用Twisted实现这一点。差不多 from tw

我需要实现一个服务器,该服务器在单个事件循环中运行和服务WSGI应用程序(特别是用werkzeug编写的web服务),同时偶尔调用一个特定的函数,该函数可以控制服务器(例如,它可以暂停或关闭服务器)。(函数体并不重要,例如,它可能只是检查当前时间或另一个进程的状态。)

我可以想象在两个独立的过程中完成这项工作,并拥有一个专用的web服务接口。但在我看来,上述解决方案似乎更好

你对如何完成这项任务有什么想法吗

谢谢,,
Jakub

我终于想出了如何使用Twisted实现这一点。差不多

from twisted.web import server, resource
from twisted.internet import reactor, endpoints
from twisted.internet.task import LoopingCall
from twisted.web.wsgi import WSGIResource

lc = LoopingCall(server_controller)
# run server_controller once a second
lc.start(1.0)
# serve a WSGI application
resource = WSGIResource(reactor, reactor.getThreadPool(), application)
site = server.Site(resource)
reactor.listenTCP(8080, site)
# enter into the even loop
reactor.run()

两个线程怎么样?我不确定线程是否会帮助太多。问题是(可能是事实上的基本问题)如何与运行wsgi应用程序的事件循环通信,即在启动主循环后(例如,在werkzeug的简单运行后,反应堆从Twisted运行或从gevent的永远服务等)。