2012-04-26 3 views

答えて

29

は、文脈に依存します。

通常、ワーカーはアプリケーション要求サイクルの外で実行されるプロセスです。通常、ワーカー・キューの管理には、resqueおよびdelayed_jobなどのRubyライブラリが使用されます。

一方、Webサーバについて言えば、「ワーカー」という言葉はスレッドやプロセス(つまりnginxやapacheの「ワーカー」)と同じ意味で使用されることがあります。

+0

ウェブサーバーでは、 'ワーカー'の個別のスレッドまたはプロセスですか? – Kamilski81

+0

@ Kamilski81をWebサーバーで使用し、ここで説明したソリューションを使用すると、これらは別のプロセスになります。たとえば、delayed_jobを使用すると、データベースから次に優先度の高いタスクをすべてポップすることができる、さまざまなワーカープロセスを実行できます。このアーキテクチャのおかげで、多くの人が神やBluePillのようなものを使って追加の監視プロセスを実行します。詳細はこちらをご覧ください:https://www.ruby-toolbox.com/categories/server_monitoring – salernost

3

railsアプリケーションを実行しているサーバーは、ワーカーがアプリケーションに必要なすべての作業を行うために使用します。電子メールを送信し、要求を実行し、計算などを実行します。必要なワーカーの数は、Webアプリケーションで必要なトラフィックと計算量に依存します。

7

「Railsの世界」では、ワーカーは、アプリケーションサイクル外で実行するためにタスクをポップする別のプロセスを持つ優先度キュータイプのシステムを指しています。これらのシステムの中で最も普及しているのはDelayedJobsです。これは、データベース移行を使用して、ワーカープロセスによって実行されるタスクを保持するテーブルを追加します。次に、DelayedJobsキューテーブルをチェックしてシリアライズされたタスクを実行する任意の数のワーカープロセスを構成できます。 DelayedJobsを使用すると、さまざまなタスクの優先度を設定できるだけでなく、タスクを実行する時間枠も設定できます。 1時間後に特定のメールを送信してください。このことができます

希望、 /Salernost

関連する問題