2016-07-28 16 views
1

将来予定されている約30個のサイドキックジョブがあります(次の30日間は1日に1日かかります)。Sidekiq - エンキュージョブが古いコードから実行されています

私は展開のためにカピストラーノを使用します。だから私はいつでも5つのリリースディレクトリを持っています。たとえば、次のようにします。

/var/www/release1/ (recent) 
/var/www/release2/ 
/var/www/release3/ 
/var/www/release4/ 
/var/www/release5/ 

私は数日後に新しいリリースをします。現在、以前にスケジュールされたジョブは古いコードから実行されています。これは期待されていますか?スケジュールされているのではなく、実行開始時に最新のリリースディレクトリを確実に使用するために、これを修正するにはどうすればよいですか?

答えて

1

これは、展開が成功した後にsidekiqプロセスが再起動しなかった可能性があります。

展開プロセスがsidekiqを再起動し、実際に再起動されていることを確認してください。そうしないと、sidekiqプロセスはまだ古いコードを保持しています。

https://github.com/mperham/sidekiq/wiki/Deployment

0

私はちょうど他の理由により、このような状況になるかもしれない誰かのために別の答えを貢献したいと思います。

サイドキックゾンビプロセスが実行されていました。だから、たとえ私が手動でsidekiqを停止して再起動しても、別のsidekiqプロセスが古いコードで動作していました。したがって、UNIX htopコマンドまたはps aux | grep sidekコマンドを実行し、ゾンビプロセスを探すことをお勧めします。

関連する問題