set(['worker_num'=>2,'task_worker_num。10.task进程。" />

10.task进程

//创建服务 //默认tcp协议,在我们的硬件通信中使用较多 $server = new Swoole\Server("0.0.0.0",9800); //设置进程数,必须为正正数,会产生2+worker_num个数个进程 $server->set([ 'worker_num'=>2, 'task_worker_num'=>3//创建task进程 ]); //事件监听 //1。监听连接 $server->on('connect',function($server, $fd){ echo "已连接到服务器:{$fd}".PHP_EOL; }); //2。接收到客户端消息 $server->on('receive',function($server, $fd, $from_id, $data){ //echo "接收到客户端消息:{$fd}".PHP_EOL; //$server->send($fd, "Server: 我是服务端"); $data = https://www.it610.com/article/['tid'=>time()]; $server->task($data); }); //4。task回调 $server->on('task',function($server,$task_id,$form_id,$data){echo "任务来自于{$form_id}".",由{$task_id}执行".PHP_EOL; $server->finish('执行完毕'); }); //5。finish回调 $server->on('finish',function($server,$task_id,$data){ echo "任务{$task_id}执行完毕:{$data}"; }); //3。连接关闭 $server->on('close',function(){ echo "已关闭连接".PHP_EOL; }); //开启服务 $server->start();

测试: curl http://127.0.0.1:9800
测试结果: 【10.task进程】任务来自于1,由0执行
任务0执行完毕:执行完毕 已关闭连接
任务来自于1,由1执行
任务1执行完毕:执行完毕 已关闭连接
任务来自于1,由2执行
任务2执行完毕:执行完毕 已关闭连接
任务来自于1,由3执行
任务3执行完毕:执行完毕 已关闭连接

    推荐阅读