gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:04 27 4
gpt4 key购买 nike

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

它们与运行 Python sched 相比如何?在 Heroku 中?

我只想运行一个 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.

这可能是因为我缺乏将它们放在正确位置的经验。它不适用于同步 worker Heroku guricorn。我不知道细节。)

最佳答案

Temporize 是第 3 方服务。您必须阅读他们的免费计划的限制。看起来免费计划只允许您每天运行 20 次任务,这与您需要的 1 分钟间隔时间相去甚远。

Heroku 的调度程序由 Heroku 提供。它为每项任务启动一个服务器,并为您支付运行时费用。 Heroku 调度程序的最小任务间隔是 10 分钟,这也不会给你想要的东西。

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

如果您使用的是 Heroku 的免费套餐(我认为您是在 IRC 中看到您之后使用的),那么一旦您验证了您的帐户,您每个月将获得 1,000 运行时间(否则您只能获得 550 小时),我想这意味着给他们你的信用卡号码。 1,000 小时足以让一台测功机免费运行整个月。

但是,如果在 X 分钟内没有收到 HTTP 请求,免费层 dyno 将会休眠(关闭)。显然,Twisted/concurrent loop 方法仅在 dyno 处于唤醒状态并运行时才有效,因为该循环在您的应用程序进程中运行。

因此,如果你的测功机睡着了,你的并发循环将停止,直到你的测力机醒来并恢复。

如果您希望您的测功机整个月都保持清醒,您可以以每月 7 美元的价格升级您的测功机。

关于python - Heroku Scheduler vs Heroku Temporize Scheduler,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38928911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com