當所有工人都在工作時是否可以讓客戶端空閒?PHP Gearman - 當沒有工人時空閒
我有以下情況:
$client= new GearmanClient();
$client->addServer();
$data = array(thousands of entries);
foreach($data as $dt) {
$client->doBackground('doFancy', $dt);
}
當我運行它,它會使成千上萬的隊列,甚至超負荷的內存。
是否有可能等到工人變得自由,直到foreach循環繼續分配新的工作?
這似乎違背了使用隊列的整個點。你發送的每個任務有多大?你能否將它們打包成更大的塊來減少你請求的任務量? – 2013-02-20 19:07:18
@ Louis-PhilippeHuberdeau每個任務都會運行aprox。 10秒,但是當它像現在這樣做時,我會推動30萬個任務。 – Aley 2013-02-20 19:16:15
如果處理信息的php腳本可以處理信息的大小,我很難相信Gearman守護進程不會處理它。它比一個php腳本更加健壯。 – Aurimas 2013-02-20 22:35:42