实现方案:采用job队列
- 修改.env文件 QUEUE_CONNECTION 为redis 或者database
- 创建Job类 make:job Create a new job class
- 在job类中,实现逻辑
job主要包括三个函数
- 构造函数 可选,用来传参
- handle() 必选,实现队列任务逻辑
- failed() 可选,当任务失败时执行
-
分发队列任务
dispatch(new CommentInfoJob($params['user_id'], $params['comment_id']));
-
开启队列进程,执行队列任务
php artisan queue:work
这种方式不能关闭teminal,比较不方便。所以一般使用Supervisor。
-
安装supervisor
yum install python-setuptools
-
添加配置 /etc/supervisor.d/ 中创建 laravel-worker.ini文件
-
supervisor命令
1. 启动: sudo supervisord -c /etc/supervisord.conf
2. 杀掉: supervisorctl shutdown
网友评论