python-3.x - 如何在数据处理时避免 Web 应用程序超时?
问题描述
现在,我的 Python Web 应用程序花费大量时间处理数据,以至于 PythonAnywhere 假定该应用程序已崩溃并超时。(>5 分钟 = 超时)
我的计划是(最终)通过电子邮件将输出发送给用户,这样他们就不必等待了。(“请在 10 分钟内查看您的电子邮件以获取报告”)。
我考虑过在数据处理期间定期“刷新”屏幕以保持 pythonanywhere 快乐 - 但是如果用户关闭浏览器,那么这将不起作用。
如何避免超时并在没有浏览器的情况下让应用程序运行 10-15 分钟?
乔
解决方案
PythonAnywhere 开发人员在这里——我想我们已经通过电子邮件讨论过这个问题,但我会在这里发布我所说的内容,以防它对其他人有用。
对于需要很长时间运行的东西,一个不错的选择是将其重构为可以定期运行的脚本,然后在“任务”选项卡上安排该脚本。如果您有付费帐户,您可以安排最多 20 个每小时任务(如果您需要更多,我们可以增加),因此要使脚本每(例如)十分钟运行一次,您可以将其安排在 2 点之后, 12点过去,以此类推。如果您需要脚本来处理通过您的网站来自用户的数据,您可以让您的视图将一些内容写入数据库,其中包含需要做什么的详细信息,然后计划任务可以拾取、处理它,然后将结果在数据库中供网站获取。
我们有一个帮助页面,这里有更多信息。
推荐阅读
- node.js - 如何在 macOS(mojave 10.14)上优雅地停止 nodejs 服务器侦听器?
- hibernate - 在应用程序中使用休眠序列作为通用序列
- html - 选项标签禁用属性
- c# - 身份4、程序化登录
- java - 如何查询三 (3) 个表中共有一个相同的字段并按另一个字段对结果进行分组?
- swift - reduce(_:_:) 函数在 Swift 中的作用是什么?
- qt - 当 mousePressEvent 和 mouseReleaseEvent 被覆盖时,clicked 不起作用
- javascript - 如何使用 getElementsByTagName() 方法获取 body 标签的内容并将其存储在变量中
- android - android:/vendor 文件夹中的设备上没有剩余空间
- jpa - 保存列表
通过 jpa 没有创建新表