我目前正在运行Flask
服务器,该服务器从fabfile.py
导入命令并使用以下命令运行它们:
with settings(...):
command()
但是,当某人正在运行命令时,fabric
在命令完成之前不会响应发送到flask
服务器的其他请求。我怎样才能确保不会发生这种情况?
我正在使用tornado
通过以下设置投放Flask
:
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from flask_ import app
import tornado.options
tornado.options.parse_command_line()
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()
谢谢, 马特
答案 0 :(得分:2)
Tornado的WSGIContainer是一个单线程WSGI服务器,很难单独使用。除非您有特定的理由在同一过程中组合WSGI应用程序和Tornado应用程序,否则最好使用专用的多线程WSGI服务器,如gunicorn或uwsgi。