唯一 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] 启动一个新作业
?>