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