2016-07-06 26 views
0

私はCapistranoをクラウドホスト上のUbuntuリモートサーバーに配置しています。 Sidekiqが再起動されないことを除いて動作します。デプロイ後、新しいSidekiqジョブは、最終的に再起動されるまで待ち行列に滞留します。私は現在、マシンに手動でSSHを実行し、動作するsudo initctl stop/start workersを実行します。私はカピストラーノとは全く強く強くはないし、私の研究はこれまで私の解決策を見つけられなかった。私は私よりも馴染みのある人に何かが分からないことを望んでいる。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

私の返答ログから:ここに私の/config/deploy.rbファイルの関連部分がある

DEBUG [268bc235] Running /usr/bin/env kill -0 $(cat /home/ubuntu/staging/shared/tmp/pids/sidekiq-0.pid) as ubuntu[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

私はあなたがそれらのconfigsを必要と信じていません。 capistrano-sidekiq gemがインストールされ、あなたのCapfileで呼び出されていれば、あなたのdeploy.rbにあります。

あなたのCapfileにrequire 'capistrano/sidekiq'があることを確認するか、デフォルトのタスクを呼び出すことがわかりません。

+0

それは簡単でした。私は 'require 'capistrano/sidekiq''を欠いていました。 –

+0

Hmmm ...まだ再起動していない - 私は手動で再起動するまで、待ち行列にあると思ってジョブをロードするだけだと思った。 –

+0

私は何が起こっているのかわかりません - おそらく、sidekiqがクラッシュしています...別のデプロイを実行しただけです。キューは現在動作しているようです。 –

関連する問題