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