2016-11-22 8 views
0

sidekiqの仕組みを理解しようとしています。sidekiqは依存プロセスを初期化するために依存アプリケーションを使用しますか?

sidekiqはすべての依存関係をすべての宝石をロードすることでレールイニシャライザを介してロードするのですか、それともワーカーを産んでいる間に何らかの種類のアプリケーションサーバーを使用していますか?

+3

通常のレールアプリのようにレール環境を読み込みます。そして、Webリクエストを聞くのではなく、ワーカーを生成します。 –

+0

これは、Railアプリケーションと同じくらい多くのメモリを消費します。おそらく、Railsサーバーがスレッド化されている場合はもっと多くのメモリを消費します。 – Aetherus

+0

これはあなたを助けてくれるかもしれません(なぜ彼らがこれを削除したのかわかりません):https://github.com/mperham/sidekiq/wiki/Internals/45bb65591f9fbfc553013a72ce0739c4e9049b83 – Deep

答えて

1

Bundlerは、Sidekiqが依存する宝石をロードします。 Railsやイニシャライザはアプリケーションコードをロードします。 Sidekiqは自動的にRailsを起動し、Railsが検出された場合にアプリケーションコードを読み込めるようにします。そうしないと、アプリケーションを起動するためにファイルをSidekiqに伝えるために-rを使用する必要があります。

詳細については、sidekiq/cli.rbのコードを参照してください。

関連する問題