php 扩展swoole之task
Task:即swoole异步任务task:
1,深入理解swoole task:swoole的业务逻辑是同步阻塞运行的,有时候我们要做一些比较消耗内存和cpu或者磁盘的操作的时候,我们需要使用到异步task任务;即我们在跑我们业务逻辑的时候只要你运行task你就会开启新的进程去处理消耗大的操作,当前的业务逻辑的进程继续运行,他们之间互不干涉,这个就很好地解决了php不支持多线程操作的障碍;
2,开启swoole task : 开启swoole task 需要我们在swoole_server 中配置 task_work_num参数,如下
"socket" => array(
"task_worker_num" => 16
),
但是我们需要给swoole_server绑定onTask(执行task任务) 和 onFinish(处理task返回结果) 两个回调函数,用来处理
3,如何发起一个task:发起一个task就是实例化一个swoole_server对象,用该对象调起一个task,即
$swoole_server = new swoole_server("主机名(0.0.0.0))","端口号(8081)");
$swoole_server->task($param);
之后调用onTask回调函数执行task任务(在onTask函数是你想要执行的新的逻辑操作,如数据库连接,群发消息等等)
执行成功之后返回执行结果之后会在onFinish里面返回给你之前的业务逻辑处理结果
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: php代码优化方案