Sidekiq ワーカーから見えるプロキシ環境
Sidekiq プロセスの起動時にプロキシ変数を渡す方法と、管理されたワーカー向けの systemd サービス設定を説明します。
ジョブが使うのは自分の Sidekiq ワーカーの環境であり、新しいターミナルや Rails の Web プロセスではありません。HTTP クライアントがこれらの変数を読むフォアグラウンドのワーカーでは、次のようにします:
http_proxy=http://proxy.example.net:8080 \
https_proxy=http://proxy.example.net:8080 \
bundle exec sidekiqSidekiq が文書化している systemd 管理の Linux 構成では、値を実際のワーカーユニットの drop-in に置きます:
[Service]
Environment="http_proxy=http://proxy.example.net:8080"
Environment="https_proxy=http://proxy.example.net:8080"ユニット定義を再読み込みし、デプロイの通常の再起動手順でワーカーを置き換えます。既存のワーカーで Rails コードを再読み込みしても、継承した環境は置き換わりません。
公開サービスの確認では、公開中継が許可されていてワーカーのクライアントに設定済みまたは保持されたプロキシ資格情報がない場合に、これらの値へ HTTP プロキシ一覧のエンドポイントを使えます。キュー固有のユニットが複数ある場合は、失敗したジョブを実行したのはどれかを特定します。別のワーカーの成功は、このワーカーの設定を証明しません。
そのユニットと HTTP クライアントを一緒に記録します。明示的に設定されたクライアントは、ワーカーに渡された変数に関係なく別の経路を使えます。その場合は、そのクライアントが対応するインターフェースを設定します。