队列
队列在config/queue.php中,其中请参考gcoder的队列配置
鉴于目前的项目和团队状态,一般使用mysql或者redis作为队列驱动,下面以mysql为驱动讲解(一般项目使用mysql作为队列驱动即可)
QUEUE_CONNECTION=database
'default' => env('QUEUE_CONNECTION', 'database'),
运行以下命令,生成队列所用的表格,一般项目我们使用mysql作为数据库
建立queue_jobs表和queue_failed_jobs表,表名已经修改,因为jobs没有前缀,不易于管理,具体参看app/config/queue.php文件
php artisan queue:table
php artisan queue:failed-table
进行库表的迁移,生成库表
php artisan migrate
请参考SendVerifyCode方法,其中改造了GLogger,队列是异步的,因此日志的管理非常重要,在队列中,会记录Request请求中的流水号,以便于在日志打印中,可以有效看到那些是队列打印的任务,可以用顺序的方法排查问题
正常启动队列,用守护进行来进行队里的守护,也就是确保队列的监听进程一直是启动状态,具体守护进程请参考laravel的队列文档
php artisan queue:work --queue=high,defalut,low