Mina Sidekiq队列

时间:2016-03-03 23:06:08

标签: ruby-on-rails sidekiq mina sidekiq-monitor

我正在使用mina_sidekiq进行部署。 当我跟踪部署时,我可以看到:

-----> Start sidekiq
       $ bundle exec sidekiq -d -e production -C /root/sites/mina_deploy/current/config/sidekiq.yml -i 0 -P /root/sites/mina_deploy/shared/pids/sidekiq.pid -L /root/sites/mina_deploy/current/log/sidekiq.log 

所以这应该得到我的配置文件,其中包含队列:

---
:queues:
  - default
  - [mailer, 10]

但是当我运行sidekiq webview时,我只能看到默认队列。 在localhost中它可以正常工作

我的mina部署文件包含以下内容:

...
require 'mina_sidekiq/tasks'

task setup: :environment do
  queue! %[mkdir -p "#{deploy_to}/#{shared_path}/log"]
  queue! %[chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/log"]

  queue! %[mkdir -p "#{deploy_to}/#{shared_path}/config"]
  queue! %[chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/config"]

  # sidekiq needs a place to store its pid file and log file
  queue! %[mkdir -p "#{deploy_to}/#{shared_path}/pids/"]
  queue! %[chmod g+rx,u+rwx "#{deploy_to}/#{shared_path}/pids"]

  ...
end

task deploy: :environment do
  deploy do
    invoke :'sidekiq:quiet'
    invoke :'git:clone'
    invoke :'deploy:link_shared_paths'
    invoke :'bundle:install'
    invoke :'rails:assets_precompile'
    invoke :'deploy:cleanup'

    to :launch do
      queue "mkdir -p #{deploy_to}/#{current_path}/tmp/"
      queue "touch #{deploy_to}/#{current_path}/tmp/restart.txt"

      invoke :'sidekiq:restart'
      invoke :'puma:restart'

    end
  end
end

为什么我不能得到正确的队列?

2 个答案:

答案 0 :(得分:1)

拔了很多头发后,我尝试在服务器上运行sidekiq,因为Redis版本而无法启动。没有警告,因此无法追踪。更新到更高版本的Redis并再次使用mina进行部署,这一切都得到了解决。 我要感谢JörgThalheim与我一起寻找问题的头脑风暴。

答案 1 :(得分:0)

在您实际将作业推送给他们之前,队列不会显示在Web UI中。

相关问题