【问题标题】:Override default harakiri duration of uwsgi in Flask/Python在 Flask/Python 中覆盖 uwsgi 的默认 harakiri 持续时间
【发布时间】:2016-08-25 03:48:53
【问题描述】:

对于大多数请求/路由,标准的 harakiri 值 15 秒或 30 秒就可以了。

但是一些端点长时间运行(例如生成报告时),我希望客户端在准备和返回时同步等待。

我可以在 uwsgi.ini 中设置一个默认的 harakiri 值,然后在 flask/python 中覆盖它,无论是在代码中还是在 flask 中使用装饰器?

先前的答案显示了如何使用 uWSGI 配置/路由来执行此操作,但我更愿意将这些特殊情况与标准 uWSGI 超时配置分开。 uWSGI - Different Harakiri Timeout for Django Admin

任何指针?

【问题讨论】:

    标签: python flask uwsgi


    【解决方案1】:

    好吧,如果您正在编写的项目可以以不同的方式编写,那么您可以执行生成过程。这是众多选择之一:

    创建一个链接来启动后端进程。用户页面刷新后,会出现正在生成的字样。然后你有两个选择,第一个是告诉最终用户:我们会通知你什么时候完成并向他发送某种甚至是电子邮件通知,或者最简单的一个,你什么都不做,只是检查特定进程是否正在运行在你机器的后台,根据回答是/否,显示一个文件的链接或留言说他还必须等待,因为进程还没有结束。

    在我描述的情况下,每个长生成都将与 HTTP 层分离。如果您可以预测它何时会超时,您甚至可以将它与您的方法混合使用。

    希望我已经解释清楚了。

    【讨论】:

    • 谢谢@turkus,如果我不能动态覆盖默认超时值,这可能是我需要采取的方法。
    猜你喜欢
    • 2021-07-07
    • 2020-08-23
    • 2010-11-28
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多