【问题标题】:How to avoid a web app timout whilst data-crunching?如何在数据处理时避免 Web 应用程序超时?
【发布时间】:2023-03-16 15:40:01
【问题描述】:
现在,我的 Python Web 应用程序花费大量时间处理数据,以至于 PythonAnywhere 假定该应用程序已崩溃并超时。 (>5 分钟 = 超时)
我的计划是(最终)通过电子邮件将输出发送给用户,这样他们就不必等待了。 (“请在 10 分钟内查看您的电子邮件以获取报告”)。
我曾想过在数据处理期间定期“刷新”屏幕,以让 pythonanywhere 满意 - 但如果用户关闭浏览器,那么这将不起作用。
如何避免超时并在没有浏览器的情况下让应用程序运行 10-15 分钟?
乔
【问题讨论】:
标签:
python-3.x
web-applications
web-scraping
pythonanywhere
【解决方案1】:
PythonAnywhere 开发人员在这里——我想我们已经通过电子邮件讨论过这个问题,但我会在这里发布我所说的内容,以防它对其他人有用。
对于需要很长时间运行的内容,一个不错的选择是将其重构为可以定期运行的脚本,然后在“任务”选项卡上安排该脚本。如果您有付费帐户,则最多可以安排 20 个每小时任务(如果您需要更多,我们可以增加),因此要使脚本每(例如)十分钟运行一次,您可以将其安排在 2 小时后, 12点过去,以此类推。如果您需要脚本来处理通过您的网站来自用户的数据,您可以让您的视图将一些内容写入数据库,其中包含需要做什么的详细信息,然后计划任务可以拾取、处理它,并将生成数据库供网站获取。
我们有一个帮助页面,其中包含更多信息here。