编码:
$gmc = new GearmanClient();
$gmc->addServer();
$gmc->setCompleteCallback(function(GearmanTask $task){
echo 'Complete: Task ' . $task->unique() . PHP_EOL;
});
for ($i=0; $i<10; $i++) {
$gmc->addTask('queryShard', json_encode($taskData), null, 'Job:' . $i);
}
if (!$gmc->runTasks()) {
echo "ERROR " . $gmc->error() . "\n";
}
我可以看到每个触发的任务何时完成。但是,有没有办法在所有启动的任务都成功时触发事件(请不要提供依赖手动任务注册表的解决方案)?
另外,任何人都可以建议如何将一组任务作为一个集合来管理吗?
谢谢!