swoole_server->taskwait [编辑本页]

函数原型:

string $result = swoole_server->taskwait(mixed $task_data, float $timeout = 0.5, int $dst_worker_id = -1);

taskwait与task方法作用相同,用于投递一个异步的任务到task进程池去执行。与task不同的是taskwait是阻塞等待的,直到任务完成或者超时返回。

$result为任务执行的结果,由$serv->finish函数发出。如果此任务超时,这里会返回false。

taskwait是阻塞接口,如果你的Server是全异步的请使用swoole_server::task和swoole_server::finish,不要使用taskwait
第3个参数可以制定要给投递给哪个task进程,传入ID即可,范围是0 - serv->task_worker_num
$dst_worker_id在1.6.11+后可用,默认为随机投递
taskwait方法不能在task进程中调用