首页 > 解决方案 > 如何在数据处理时避免 Web 应用程序超时?

问题描述

现在,我的 Python Web 应用程序花费大量时间处理数据,以至于 PythonAnywhere 假定该应用程序已崩溃并超时。(>5 分钟 = 超时)

我的计划是(最终)通过电子邮件将输出发送给用户,这样他们就不必等待了。(“请在 10 分钟内查看您的电子邮件以获取报告”)。

我考虑过在数据处理期间定期“刷新”屏幕以保持 pythonanywhere 快乐 - 但是如果用户关闭浏览器,那么这将不起作用。

如何避免超时并在没有浏览器的情况下让应用程序运行 10-15 分钟?

标签: python-3.xweb-applicationsweb-scrapingpythonanywhere

解决方案


PythonAnywhere 开发人员在这里——我想我们已经通过电子邮件讨论过这个问题,但我会在这里发布我所说的内容,以防它对其他人有用。

对于需要很长时间运行的东西,一个不错的选择是将其重构为可以定期运行的脚本,然后在“任务”选项卡上安排该脚本。如果您有付费帐户,您可以安排最多 20 个每小时任务(如果您需要更多,我们可以增加),因此要使脚本每(例如)十分钟运行一次,您可以将其安排在 2 点之后, 12点过去,以此类推。如果您需要脚本来处理通过您的网站来自用户的数据,您可以让您的视图将一些内容写入数据库,其中包含需要做什么的详细信息,然后计划任务可以拾取、处理它,然后将结果在数据库中供网站获取。

我们有一个帮助页面,这里有更多信息。


推荐阅读