私は、ヒプノトードと労働者がどのように機能するかを誰かが確認するのに十分親切であることを望んでいました:)
たとえば、クライアント コードにループ (つまり for each ) があり、反復ごとに異なる引数で同じルートを呼び出すとします。バックエンドへの各呼び出しが異なるワーカー広告によって同時に処理される可能性はありますか? (フリーワーカーがいる場合は?)
これは基本的な質問であることは知っていますが、助けていただければ幸いです
ありがとう。
私は、ヒプノトードと労働者がどのように機能するかを誰かが確認するのに十分親切であることを望んでいました:)
たとえば、クライアント コードにループ (つまり for each ) があり、反復ごとに異なる引数で同じルートを呼び出すとします。バックエンドへの各呼び出しが異なるワーカー広告によって同時に処理される可能性はありますか? (フリーワーカーがいる場合は?)
これは基本的な質問であることは知っていますが、助けていただければ幸いです
ありがとう。
Hypnotoad は preforking サーバーです。つまり、4 つのプロセッサ コアがある場合、たとえば 4 つのワーカーを実行できます。それらの 1 つがコード sleep(10) をブロックするためにビジーである場合、別の 1 つが次の接続などを処理します。
自分で試すことができます。「sleep 5; $self->render_text('5 seconds')」というコードを書いて、「workers」オプションを 2 以上に設定し、同時に 2 回ページを読み込もうとします。
コードが完全にノンブロッキングである場合、1 つのワーカーが多数の接続を同時に処理できますが、1 つずつ実行されます。