Heroku上的Resque Scheduler ...远程执行吗?

Clé*_*ent 5 ruby heroku scheduled-tasks resque redis

我在Heroku的应用程序中添加了Resque-Scheduler

所以...我需要一个独立的,独特的工作人员充当调度员,许多人在做这些工作.

我就是这样做的:
我有一个独特的Heroku应用程序,除了拥有1个resque-scheduler worker,全天候运行,将Resque任务添加到"远程" 应用程序的Redis DB之外什么都不做.

(我做那个映射工作:工作任务resque:调度程序resque:工作)

这是在Heroku平台上做到这一点的最佳方式吗?还是我完全错了?

谢谢 !

编辑:在Heroku上安排的最小应用程序:http: //github.com/clmntlxndr/heroku-scheduler

更新:使用Heroku和Procfiles上的新CEDAR堆栈,可以为每个工作人员启动一个独特的任务.

web:        bundle exec rails server -p $PORT
scheduler:  bundle exec rake resque:scheduler
worker:     bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)

http://devcenter.heroku.com/articles/procfile

tfe*_*tfe 3

我想我第一次读错了你的问题。我错过了调度程序需要单独的 rake 任务的部分。

是的,我认为唯一的方法是拥有两个单独的heroku应用程序,因为heroku工作人员只会运行rake jobs:work,并且大概您只能将其映射到resque rake任务之一。

你可以试试这个:

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => ["resque:work", "resque:scheduler"]
Run Code Online (Sandbox Code Playgroud)

但我对 Heroku 监控工作进程和其他内容的方式是否能正常工作表示真诚的怀疑。另外,仔细检查那里的 rake 语法;这只是凭记忆。我知道可以指定多个依赖项。