0

我正在使用 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时,我只能看到默认队列。在本地主机它工作正常

我的 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

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

4

2 回答 2

1

在拉了很多头发之后,我尝试在服务器上运行 sidekiq,但由于 Redis 版本,它无法启动。没有警告,因此无法追踪。更新到更高版本的 Redis 并再次使用 mina 进行部署,一切顺利。我必须感谢 Jörg Thalheim 与我一起寻找问题的头脑风暴。

于 2016-03-04T01:17:23.383 回答
0

队列不会显示在 Web UI 中,直到您实际向它们推送作业。

于 2016-03-03T23:26:27.030 回答