【发布时间】:2012-07-13 16:17:16
【问题描述】:
我目前正在 2 个 Heroku dynos 上运行我的应用程序。到目前为止,我需要添加类似于 config/unicorn.rb 的内容:
worker_processes 3
timeout 30
@resque_pid = nil
before_fork do |server, worker|
@resque_pid ||= spawn("bundle exec rake " + \
"resque:work QUEUES=scrape,geocode,distance,mailer")
end
我有几个不同的后台作业要处理,有些需要单线程运行,有些需要并发运行。这种配置的问题在于,在两个 Unicorn 实例上,它将产生完全相同的 resque worker(相同的队列等)。
如果我可以更改每个工作进程的队列类型,或者甚至让一个实例运行 resque 工作进程而另一个实例运行 sidekiq 工作进程,这将大大简化一切。
这可能吗?
【问题讨论】:
标签: ruby-on-rails heroku resque sidekiq