【问题标题】:Running Python script continously 24/7 on the cloud在云端 24/7 持续运行 Python 脚本
【发布时间】:2017-06-04 23:23:15
【问题描述】:

有什么解决方案可以满足我的需求吗? 基本上,我正在运行使用 APScheduler 运行某个功能的脚本。 所以脚本会每 5 分钟运行一次函数。

PythonAnywhere 不能这样做,因为它们不支持 APScheduler。如果我们在 PythonAnywhere 上使用无限循环,这是非常糟糕的做法。

【问题讨论】:

  • 因为您要定期运行它(而不仅仅是在任意时间安排),您是否考虑过设置一个 cronjob?

标签: python cloud hosting


【解决方案1】:

您可以在无限 while 循环中使用 cronjob 或辅助脚本来完成。

在选项 1 中,您将输入 crontab -e 并设置一个 cronjob。进入 cron 编辑器后,您可以设置各种频率的频率。对于 5 分钟的 cronjob,此代码应该可以工作

*/5 * * * * /usr/bin/python /home/yourscript.py

对于选项 2,您可以将以下命令的一些变体设置为 python 脚本

import time
......

while True:
# your function
   function()
   sleep(300)

sleep 命令将暂停执行 5 分钟。

我会提醒您,在 PythonAnywhere 上运行无限 while 循环将很快耗尽您的 CPU 时间分配(取决于您编写代码的效率)。

【讨论】:

    【解决方案2】:

    您可以尝试 Heroku 及其Worker Dynos

    我发现它的设置比 AWS 或 Google Cloud Platform 等其他服务简单得多。您可以免费拥有一个基本帐户并玩转。

    他们有作为附加组件Heroku Scheduler,可以让你避免无限的while

    Heroku 调度程序

    每 10 分钟、每小时或 每天。 0 美元/月起。

    轻松运行作业

    Scheduler 是一个插件,用于在您的应用上按预定时间运行作业 间隔,很像传统服务器环境中的 cron。

    【讨论】:

      猜你喜欢
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 2020-03-26
      相关资源
      最近更新 更多