对于大多数请求/路线,标准的harakiri值为15或30秒都可以。
但有一些端点长时间运行(例如生成报告时),我希望客户端在准备和返回时同步等待。
我可以在uwsgi.ini中设置默认的harakiri值,然后在flask / python中覆盖它,无论是在代码中还是在烧瓶中使用装饰器?
之前的答案显示了如何使用uWSGI配置/路由执行此操作,但我更愿意将这些特殊情况与标准uWSGI超时配置分开。 uWSGI - Different Harakiri Timeout for Django Admin
任何指针?
答案 0 :(得分:0)
好吧,如果您正在编写的项目可以用不同的方式编写,那么您可以执行生成过程。这是众多选择之一:
创建一个链接,该链接将启动后端进程。用户页面刷新后,将会有生成正在进行的措辞。然后你有两个选择,首先是告诉最终用户:我们会在完成时通知你,并向他发送某种甚至是电子邮件通知,或者最简单的通知,你什么都不做,但只检查特定进程是否正在运行在你的机器的后台,根据回答是/否,显示一个文件的链接或留下他必须等待的消息,因为过程还没有结束。
如果我描述的话,每个长生成将与HTTP层分开。如果您可以预测它何时会超时,您甚至可以将它与您的方法混合使用。
希望我解释得足够。