【问题标题】:How do I prevent my Flask App from timing out using Heroku如何使用 Heroku 防止我的​​ Flask 应用程序超时
【发布时间】:2022-01-05 23:21:48
【问题描述】:

创建一个烧瓶应用程序,用户可以在其中发送 excel 文件并将返回更新的 excel 文件。

问题是有时更新 excel 文件需要很长时间,而且由于我没有返回任何内容,heroku 会超时。

使用html表单,发布请求

我想发送状态码,这样它就可以起到确认的作用并防止超时。

然后,一旦文件完成更新,应用就会为用户下载文件。 (将使用作业队列)

由于我需要为 1 条路线返回 2 件东西,它是如何工作的?

需要使用 send_from_directory() 返回状态码和文件

【问题讨论】:

    标签: python flask heroku


    【解决方案1】:

    Heroku 上的 30 秒超时是固定的,你无法避免。在可扩展的应用程序上让进程阻塞这么长时间也不是一个好主意。

    你可以使用一些东西在不同的进程上执行你的慢任务,比如 python-rq。你有关于如何在 Heroku 上使用它的文档https://python-rq.org/patterns/

    考虑到 Heroku 有一个临时存储 (https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem),所以您不能保存文件并期望稍后再提供它。将您的信息放在 redis 或外部存储上,例如 S3。

    【讨论】:

      猜你喜欢
      • 2012-08-07
      • 2021-04-29
      • 2010-11-02
      • 2021-02-16
      • 2023-03-09
      • 1970-01-01
      • 2022-01-05
      • 2015-01-29
      • 1970-01-01
      相关资源
      最近更新 更多