我的需求有解决方案吗? 基本上,我正在运行使用APScheduler运行某个功能的脚本。 因此脚本将每5分钟运行一次。
PythonAnywhere不能这样做,因为它们不支持APScheduler ..如果我们在PythonAnywhere上使用无限循环,这是非常糟糕的做法。
答案 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一样。