2016-07-06 3 views
0

У меня есть Capistrano, развертывающее мое приложение на удаленном сервере Ubuntu на узле облака. Он работает, за исключением того, что Sidekiq не перезапускается. После развертывания новые задания Sidekiq застревают в очереди, пока они, наконец, не будут перезапущены. В настоящее время я вручную загружаю SSH в машину и запускаю sudo initctl stop/start workers, который работает. Я не очень силен вообще с Капистрано, и мне до сих пор не удалось найти решение для этого. Я надеюсь, что мне не хватает чего-то очевидного для кого-то более знакомого, чем я. Вот соответствующая часть моего /config/deploy.rb файла:Capistrano не перезагружает Sidekiq

namespace :deploy do 
    namespace :sidekiq do 
    task :quiet do 
     on roles(:app) do 
     puts capture("pgrep -f 'workers' | xargs kill -USR1") 
     end 
    end 

    task :restart do 
     on roles(:app) do 
     execute :sudo, :initctl, :stop, :workers 
     execute :sudo, :initctl, :start, :workers 
     end 
    end 
    end 

    after 'deploy:starting', 'sidekiq:quiet' 
    after 'deploy:reverted', 'sidekiq:restart' 
    after 'deploy:published', 'sidekiq:restart' 
end 

UPDATE

Из моих бревен ответ:

DEBUG [268bc235] Running /usr/bin/env kill -0 $(cat /home/ubuntu/staging/shared/tmp/pids/sidekiq-0.pid) as [email protected] 
DEBUG [268bc235] Command: cd /home/ubuntu/staging/releases/20160806065537 && (export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.2.3" ; /usr/bin/env kill -0 $(cat /home/ubuntu/staging/shared/tmp/pids/sidekiq-0.pid)) 
DEBUG [268bc235] Finished in 0.471 seconds with exit status 1 (failed). 

ответ

2

Я не верю, что вам нужны эти конфиги в вашем deploy.rb, если у вас установлен кеппано-sidekiq gem и вызывается в вашем Capfile.

Удостоверьтесь, что у вас есть require 'capistrano/sidekiq' в вашем файле Capfile, или он не будет знать, чтобы вызывать задачи по умолчанию.

+0

Это было просто - мне не хватало 'require 'capistrano/sidekiq''. –

+0

Хммм ... до сих пор не перезагружается - я думал, что моя очередь просто загружается с заданиями, пока я не перезагружу вручную. –

+0

Я не уверен, что происходит - возможно, sidekiq рушится ... просто запустил другое развертывание, и очередь, похоже, теперь работает. –