Heroku 上的 Resque Scheduler...远程操作?
我正在 Heroku 上的应用程序中添加 Resque-Scheduler
所以...我需要一个单独的并且不同的工作人员充当调度程序和 许多人在做这些工作。
我就是这样做的:
我有一个独特的 Heroku 应用程序,它什么也不做,但有 1 个 resque-scheduler 工作线程,24/7 运行,将 Resque 任务添加到“远程”main 的 Redis DB 中应用程序。
(我将 jobs:work 任务映射到 resque:scheduler 或 resque:work)
这是在 Heroku 上执行此操作的最佳方法吗?平台 ;或者我做错了?
谢谢 !
编辑: 在 Heroku 上进行调度的最小应用程序: http://github.com/clmntlxndr/heroku-scheduler
更新:新的 CEDAR 堆栈开启Heroku 和 Procfiles,可以为每个工作人员启动不同的任务。
web: bundle exec rails server -p $PORT
scheduler: bundle exec rake resque:scheduler
worker: bundle exec rake jobs:work
I'm adding Resque-Scheduler in my app on Heroku
So... I need ONE alone and distinct worker acting as the scheduler and
many doing the jobs.
This is how I've done it :
I've a distinct Heroku App which does nothing but has 1 resque-scheduler worker, running 24/7, adding Resque tasks to the Redis DB of the "distant" main App.
(I do that mapping jobs:work task to resque:scheduler or resque:work)
Is this the best way to do it on the Heroku's platform ; or am I doing it totally wrong ?
Thanks !
EDIT:
minimal app for scheduling on Heroku :
http://github.com/clmntlxndr/heroku-scheduler
UPDATE: With the new CEDAR stack on Heroku and Procfiles, it's possible to start a distinct task for each worker.
web: bundle exec rails server -p $PORT
scheduler: bundle exec rake resque:scheduler
worker: bundle exec rake jobs:work
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想我第一次读错了你的问题。我错过了调度程序需要单独的 rake 任务的部分。
是的,我认为唯一的方法是拥有两个单独的heroku应用程序,因为heroku工作人员只会运行rake jobs:work并且大概您只能将其映射到resque rake任务之一。
你可以尝试这个:
但我真诚地怀疑它是否真的能与 Heroku 监控工作进程和其他东西的方式正常工作。另外,仔细检查那里的 rake 语法;这只是凭记忆。我知道可以指定多个依赖项。
I think I misread your question the first time. I missed the part where scheduler requires a separate rake task.
Yes, I think the only way to do it is to have two separate heroku apps, because heroku workers will only run
rake jobs:work
and presumably you can only map this onto one of the resque rake tasks.You could try this:
But I have sincere doubts about that actually working properly with how Heroku monitors worker processes and stuff. Also, double check the rake syntax there; it's just from memory. I know it's possible to specify multiple dependencies though.