用 database 作队列驱动时,jobs 会添加一条数据,然后就没反应了。用 sync 就可以,请问是怎么回事?

laravel版本5.5
.env配置QUEUE_DRIVER=database
这是我的任务类
file
这是我的控制器
file
数据库jobs表里面也会生成数据
file
但是就是没后续了
laravel.log里面也没错误信息
当我改成 sync 驱动时就没问题了
请问这是怎么回事呢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

@xp248187189 去掉 onQueue() 方法试试

5年前 评论
讨论数量: 6

你要执行 php artisan queue:work 来让队列开始处理任务, 开发的时候可以使用 php artisan queue:listen

5年前 评论

@zedisdog 我是执行了 php artisan queue:work 的,每次更改了配置的时候我都执行了 php artisan queue:work

5年前 评论

@zedisdog 嗯,这样就行了,可这是怎么回事呢

5年前 评论

@xp248187189 你用的是Database来驱动队列。但是又用onQueue,指定其他的驱动来执行。当然就不执行了哦。

5年前 评论
php artisan queue:work --queue={queue_name1,queue_name2,queue_name3}
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!