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