我需要实现一个服务器,它在一个事件循环中运行并服务一个WSGI应用程序(特别是用werkzeug编写的Web服务),同时偶尔会调用一个特定的函数,它可以控制服务器(例如,它可以暂停或关闭它)。 (函数的主体并不重要,例如,它可能只是检查当前时间或另一个进程的状态。)
我可以想象在两个独立的进程中执行此操作并具有专用的Web服务接口。上面描述的解决方案在我看来似乎更好。
您对如何处理此任务有什么想法吗?
谢谢你, 的Jakub
答案 0 :(得分:0)
最后我想出了如何用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()