python – Heroku Scheduler vs Heroku Temporize Scheduler,有什么区别?

我想知道
Heroku Scheduler附加组件和
Heroku Temporize Scheduler附加组件之间有什么区别.他们似乎都是自由的并且做预定的工作.

他们如何比较在Heroku中运行Python sched

我希望运行一个cron工作,每分钟使用Heroku Python保存到Postgres来抓取一些网站. (我也试图弄清楚在cron工作中要写什么,但这是另一个问题.)

使用解决方案更新:

感谢danneu的建议,工作解决方案正在使用Heroku Scheduler.由于this tutorial,设置起来非常简单.

(我尝试使用sched和twisted,但两次我得到:

Application Error
An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

这可能是由于我缺乏将它们放在正确位置的经验.它不适用于同步工作者Heroku guricorn.我不知道细节.)

最佳答案 Temporize是第三方服务.你必须阅读他们的免费计划的局限性.看起来免费计划只允许你每天运行20次任务,这与你需要的1分钟间隔相差甚远.

Heroku的调度程序由Heroku提供.它为每个任务旋转一个服务器,并为运行时收费. Heroku调度程序的最小任务间隔是10分钟,也不会给你你想要的.

对于擦除页面的1分钟间隔,我只是在我的Heroku应用程序进程中运行并发循环. Javascript中的setTimeout是可以与应用程序服务器一起运行的并发循环的示例(如果您使用的是Node).看起来Python sched链接中的Twisted示例是Python等价物.

如果你正在使用Heroku的免费套餐(我认为你是在IRC看到你之后),那么一旦你验证了你的账户,你每个月就会获得1,000个运行时间(否则你只能得到550个小时),我想这意味着给你他们信用卡号. 1000个小时就足以让一个dyno全月免费运行.

但是,如果在没有收到HTTP请求的情况下超过X分钟,则自由层dyno将休眠(关闭).显然,Twisted / concurrent循环方法只有在dyno唤醒并运行时才会起作用,因为循环在应用程序进程内运行.

因此,如果您的dyno入睡,您的并发循环将停止,直到您的dyno唤醒并恢复.

如果你想让你的dyno整个月都保持清醒,你可以以7美元/月的价格升级你的dyno.

点赞