前言:
这篇笔记记录了基于swoole的异步任务实现方式,框架采用的是laravel,当然框架环境只影响运行,不影响理解。
一、laravel添加commands
在项目根目录下生成一个command模块(因为swoole相关功能都是在cli模式下开发,可以配合相关进程管理工具来管理如:pm2,后续博文会讲到)
1 | php artisan make:command Swoole/Task |
然后在你的 console下的Kernel.php添加你刚刚生成的commands模块
目录: app\Console\Kernel.php
1 | protected $commands = [ |
二、执行异步任务伪代码片段
1 | <?php |
三、启动异步任务测试
1.开启终端输入:
php artisan swoole:task
我们通过postman代替来访问,因为我swoole服务端起的是 http服务,其他如tcp服务,你可以通过swoole的客户端来连接
连续访问2次,每次task_id id不一样
此时我们可以开终端打印的数据,已经做到了异步处理任务了。