首页 文章

在heroku中,如何让ruby / rails启动工作人员

提问于
浏览
0

我在heroku上运行ruby / rails,我想扩展我的工作人员..

Heroku有这个伟大的api来扩展 Worker ..

heroku.post_ps_scale(APP_NAME, 'worker', count) 
#brings up new worker dyno's, or scales down

问题是 Worker 们不知道队列......如果我有两个客户,每个人都有延迟工作的队列 . 然后他们的任务相互冲突 .

让工作人员在不同的队列上工作,但他们与启动它们的应用程序在同一个dyno上(也就是web dyno)

cmd = "rake jobs:work WORKER=STYLE_SERF QUEUES=#{queue}"
Rush::Box.new[Rails.root].bash( cmd, :background => true )

Question 如何创建队列感知的工作人员dyno?
我希望它是上面代码的某种组合 .

编辑:有人建议我使用procFile,我面临的问题是我不需要.2668829_ m . 它非常适合设置工作于特定队列的"urgent"或"due_yesterday"工作人员......但我希望每个客户端都有一个队列 .
因此worker_1适用于client_1作业,而worker_2适用于client_2作业 . 永远不要穿越对方 .
很容易想象client_1每小时进行一次产品更新,而client_2每周进行一次产品更新 .

扩展问题(基于编辑)可以在运行时调整procfile吗?它是一个文件,还是编译成代码?如果它是一个可访问的文件,那么也许我可以“创建”工作者类型 .

1 回答

  • 1

    您可以尝试http://hirefire.io/它每月10usd,您可以在30天内尝试它,但根据您的队列大小和响应时间惊人地扩展 Worker 和dynos并且可以自定义!

相关问题