如何通过gunicorn启动Flask应用程序时启动后台线程?

时间:2017-05-11 05:43:26

标签: python flask wsgi gunicorn

我正通过翻译直接启动我的Flask应用程序。

if __name__ == '__main__':
    t = Thread(target=run_schedule)
    t.start()
    context = ('cert.pem', 'key.pem')
    app.run(host='0.0.0.0',port=8080,debug=False,ssl_context=context)

run_schedule函数永远循环,偶尔解除阻塞以执行任务。

显然,当我不再调试时,我应该使用类似gunicorn的wsgi服务器,但它不会通过main()调用模块,因此线程无法启动。

将它们放在该块之外是行不通的,因为如果任何其他代码导入模块,线程就会启动!

@before_first_request几乎就是我所需要的,但它要求我首先向服务器发出请求。不理想。

建议的方法是什么? (或者背景线程是否反对wsgi哲学?)

0 个答案:

没有答案