0

例:「URLDownload」という名前のタスクがあります。タスクの機能は、インターネットから大きなファイルをダウンロードすることです。これでワーカープロセスが実行されていますが、ダウンロードするファイルは約1000個あります。クライアントプロセスが1000個のタスクを作成し、それらをGearmanServerに送信するのは簡単です。

私の質問は、ワーカープロセスがタスクを1つずつ実行するか、一度に複数のタスクを受け入れるかということです。

ワーカープロセスがマルチタスクを受け入れることができる場合、ワーカープロセスでタスクプールサイズを制限するにはどうすればよいですか。

4

1 に答える 1

2

ワーカーは一度に 1 つの要求を処理します。いくつかのオプションがあります:

1) 複数のワーカーを実行できます (これが最も一般的な方法です)。ワーカーは、処理していないときは poll() に座っているため、このモデルは非常にうまく機能します。

2) ワーカーの周りに fork() 実装を書きます。このようにして、設定した数のワーカー プロセスを起動できますが、複数のプロセスを監視する必要はありません。

于 2012-04-15T17:00:41.490 に答える