最近我需要对我的Sidekiq队列进行优先级排序(之前我只使用默认的default
队列)。
因此,我编写了一些作业,这些作业应该在不同的队列上执行。
我的sidekiq.yml
:
:queues:
- slack_notifier
- invoicing
- default
deploy.rb
(Capistrano):
# ...
set :sidekiq_config, "#{current_path}/config/sidekiq.yml"
# probably below line does same thing as above one
set :sidekiq_options_per_process, ['--queue slack_notifier --queue invoicing --queue default']
# ...
我可以看到在部署过程中,它正在被使用:
01:32 sidekiq:start
01 $HOME/.rbenv/bin/rbenv exec bundle exec sidekiq --index 0 --pidfile /home/ubuntu/cap/shared/tmp/pids/sidekiq.pid --environment production --logfile /home/ubuntu/cap/shared/log/sidekiq.log --config /home/ubuntu/cap/current/config/sidekiq.yml --queue slack_notifier --queue invoicing --queue default --daemon
Sidekiq正在运行:
ps aux | grep '[s]idekiq'
#=> ubuntu 716 16.4 2.1 668604 176860 ? Sl 07:31 14:18 sidekiq 4.2.6 cap [1 of 1 busy]
现在,当我启动作业时,它们似乎只在某些时候停止。
不确定是否能更好地描述问题。当我清除两个优先级队列(slack_notifier
和invoicing
)时,默认值仍然似乎无法处理作业。
10
。 - Aleksei Matiushkinupstart
/systemctl
配置文件即可。 - Aleksei Matiushkin