2013-03-12 97 views
2

我们已经有了sidekiq在我们的应用程序的工作,它的工作很大但本地我有4名sidekiq工人使用各设置成单个队列Sidekiq&Capistrano的与多发工单队列

sidekiq -r config.rb -c 20 -q websites 

我有四个队列所以我开始在终端

sidekiq -r config.rb -c 20 -q websites 
sidekiq -r config.rb -c 20 -q cafes 
sidekiq -r config.rb -c 20 -q gyms 
sidekiq -r config.rb -c 20 -q telephones 

我已经通过sidekiq文档看了,但我无法找到答案,我已经添加

set :sidekiq_processes, 4 

它给我们四个进程

我们已经增加了队列的优先级作为短期解决方案。

我想手动运行该服务器上的队列,但我不想失去与起点的Capistrano的集成和部署与停止

回答

2

我不认为这是可能做到这一点与内置帽子食谱。您可以处理多个队列,并且可以拥有多个进程,但无法为每个进程自定义队列。

+0

这是一个耻辱(我猜你会知道)你会推荐什么? – 2013-03-12 21:51:29

+0

我认为最好的做法可能是为命名队列制作自己的cap配方,然后将它们挂接到部署过程中。最简单的事情就是拥有自己的开始/停止/重新启动方法,并跟踪您希望工作人员在阵列或某物中排队的队列。在https://github.com/mperham/sidekiq/blob/master/lib/sidekiq/capistrano.rb查看内置食谱 – Ibrahim 2013-04-27 21:55:46