如何在Heroku上运行delayed_job的排队任务?

时间:2012-09-29 15:21:58

标签: ruby-on-rails-3 heroku automation delayed-job

我目前正在使用delayed_job gem在我的应用程序中排队和运行后台任务。在本地系统中,我可以使用rake jobs:work来运行排队的任务。但是,当我将我的应用程序部署到Heroku时,我不想继续使用rake命令。相反,我希望自动调用rake命令。有没有办法这样做,而无需支付Heroku中的工人?

3 个答案:

答案 0 :(得分:0)

我使用cron没有问题(使用django)。您所需要的只是将heroku run命令之后可以执行的命令配置为任务。

请记住,cron time计算为工作时间,请确保命令结束。

答案 1 :(得分:0)

不,没有工人你就做不到。

答案 2 :(得分:0)

早些时候说你需要一个工人是正确的,但是你确实有自由工时。每月有750个免费小时http://www.heroku.com/pricing#1-0。如果31个月是744小时,那么每个月至少有6个免费工作小时。

如果您使用无效的宝石https://github.com/lostboy/workless,这将仅在需要时(即在delayed_job中等待的作业)启动工作者,然后再次关闭它。适用于我的应用程序,每月6小时的后台处理时间足以满足我的要求。