在云上不断全天候运行Python脚本

时间:2017-01-20 03:41:58

标签: python cloud hosting

我的需求有解决方案吗? 基本上,我正在运行使用APScheduler运行某个功能的脚本。 因此脚本将每5分钟运行一次。

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

2 个答案:

答案 0 :(得分:2)

您可以使用无限循环内的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时间分配(取决于您编写的代码效率)。

答案 1 :(得分:2)

您可以尝试 Heroku 及其Worker Dynos

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

它们具有附加Heroku Scheduler,可以避免无限while

  

Heroku Scheduler

     

每10分钟,每小时或每小时运行一次预定任务   每天。起价0美元/月。

     

轻松运行作业

     

计划程序是在预定时间在您的应用上运行作业的附加组件   间隔,就像传统服务器环境中的cron一样。