在Heroku和本地环境中安排Rails任务的调度

3

有没有一个可以在Heroku和我的本地机器上运行的调度gem/app/add-on?我只需要每天运行一个单一的任务,所以我认为我不需要太复杂的东西。

我看了看Heroku的Scheduler,但似乎没有类似的本地工具。Whenever gem在Heroku上没有类似功能("Whenever" gem running cron jobs on Heroku)。我还看了看Resque/Resque Scheduler/Redis,但对于我想要做的事情来说,这似乎太过复杂了。

我是不是漏掉了什么非常基础的东西?

3个回答

3
如果您在Heroku上使用Heroku调度程序,则可以使用本地的crontab(假设您正在使用OSX / Linux)在本地运行任务。 Heroku Scheduler所做的就是在给定时间执行一个rake任务,这并不太复杂。

2

rufus-scheduler 可在本地或 Heroku 上远程工作,但有一些限制:

1)长时间运行的作业将被终止:定时作业应该执行短时间运行的任务或将较长时间运行的任务加入到后台作业队列中,例如 Delayed Job。任何超过几分钟完成时间的任务都应该使用一个工作进程来运行(参见:Heroku Scheduler 插件)。

2)您需要注意内存消耗。每个进程都有 512MB 的内存限制,超过此限制后,它会开始分页到交换空间中,并降低性能。如果所有线程的总内存使用量不超过 512MB,则可能可以正常工作。


0

我正在使用Heroku上的调度程序,一切都运行良好。如果您想在本地设置相同的内容,只需创建一个cron任务,在相同的迭代中运行rake任务即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接