```
public function test(Request $request)
{
$channel = new Channel(10);
$wg = new WaitGroup();
//循环使用
for ($i = 0; $i < 10; $i++){
$wg->add();
Coroutine::create(function () use($i,$wg,$channel) {
$on_line_log_data = OnlineLog::listData('',[],200);//模拟耗时操作
$channel->push(['index' => $i,'data' => $on_line_log_data],2);
$wg->done();
});
}
$wg->wait();
$data = [];
$length = $channel->length();
for($i=0;$i<$length;$i++){
$data[] = $channel->pop(1);
}
return successMsg();
}
```