唯一 ID 參數的行為
如果未提供,則預設為 UUIDv1(時間戳記 + MAC 位址)。
否則,如果存在具有相同唯一 ID 的作業(即已排入佇列或正在執行),則會使用該作業,而不是您提交的作業。這不適用於過去(已完成)的作業,並且在整個作業伺服器池中都有效,假設沒有分割區。
或者使用程式碼(方括號中的值是伺服器分配的作業識別碼)
<?php
$gearman->doBackground('sleep', '3', '123'); // [H:host:1] 開始 sleep(3)
$gearman->doBackground('sleep', '5', '456'); // [H:host:2] 將 sleep(5) 排入佇列
$gearman->doBackground('sleep', '3', '123'); // [H:host:1] 什麼都不做
$gearman->doBackground('sleep', '1', '123'); // [H:host:1] 也什麼都不做(不同的參數不會觸發新的作業)
sleep (3);
// 作業 123 [sleep(3)] 現在已經完成
$gearman->doBackground('sleep', '3', '123'); // [H:host:3] 啟動新的作業
?>