我正通过翻译直接启动我的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哲学?)