swoole hyperf 指定最多创建100个协程。
时间:2024-7-13 12:16 作者:xiang 分类: 无
应用场景
异步队列消费,大量创建协程序会导致mysql连接数用完,mysql压力大增,所以控制协程数跟mysql连接池数量相约。可以有效控制mysql的写入压力。
public function handle()
{
$num=100;
Co::set(['max_coroutine'=>$num]);
for ($i=0;$i<1000;$i++) {
$status=Co::stats();
if($status['coroutine_num']<$num){
go(function () {
Coroutine::sleep(1);
print_r($coroutineId = Coroutine::getuid()."\n");
});
}else{
$this->main();
}
}
}
public function main()
{
print_r("no coroutine"."\n");
}
Co::set(['max_coroutine'=>$num]);
设置最大协程数
$status=Co::stats();
$status['coroutine_num']
获取协程状态。
coroutine_num 当前运行的协程数量