发布于 2015-08-09 09:38:21 | 254 次阅读 | 评论: 0 | 来源: 网络整理
投递一个异步任务到task_worker池中。此函数会立即返回。worker进程可以继续处理新的请求。
bool swoole_server::task(mixed $data, int $dst_worker_id = -1)
$task_id = $serv->task("some data");
$dst_worker_id在1.6.11+后可用,默认为随机投递
task方法不能在task进程中调用
此功能用于将慢速的任务异步地去执行,比如一个聊天室服务器,可以用它来进行发送广播。当任务完成时,在task进程中调用$serv->finish("finish")告诉worker进程此任务已完成。当然swoole_server->finish是可选的。
AsyncTask功能在1.6.4版本增加,默认不启动task功能,需要在手工设置task_worker_num来启动此功能
task_worker的数量在swoole_server::set参数中调整,如task_worker_num => 64,表示启动64个进程来接收异步任务