在Heroku + localhost上调度Rails任务

时间:2012-03-06 18:52:29

标签: ruby-on-rails heroku

是否有适用于Heroku和本地计算机的调度gem / app / add-on?我只需要每天运行一个任务,所以我认为我不需要太复杂的任何事情。

我看过Heroku的调度程序,但它看起来并不像本地的任何东西。每当宝石在Heroku上没有任何可比性("Whenever" gem running cron jobs on Heroku。)时我也看过Resque / Resque Scheduler / Redis,但是对于我想要做的事情来说,这似乎有些过分。

我错过了一些非常基本的东西吗?

3 个答案:

答案 0 :(得分:3)

如果您在Heroku上使用Heroku Scheduler,您可以使用本地crontab(假设您使用的是OSX / Linux)在本地运行。所有Heroku Scheduler正在执行的是在给定时间执行rake任务,没有太复杂。

答案 1 :(得分:2)

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

1)长时间运行的作业将被终止:预定作业用于执行短期运行任务或将较长时间运行的任务排入后台作业队列,例如Delayed Job。任何需要花费几分钟才能完成的事情都应该使用工作流程来运行(参见:heroku scheduler add-on

2)你必须小心内存消耗。每个进程都有512 MB的内存限制,之后它开始分页以进行交换,性能降低。如果所有线程组合使用的内存少于512 MB,那么这可能会有效。

答案 2 :(得分:0)

我在heroku上使用调度程序,但事情正常。如果你想在本地设置相同的东西,你可以创建只在同一次迭代中运行rake任务的cron任务。