来自Laravel文档:
默认排队如果您希望始终排队的可邮寄课程,您可以在课程上实施ShouldQueue Contract . 现在,即使您在邮寄时调用send方法,mailable仍然会排队,因为它实现了 Contract
有没有办法默认队列电子邮件,即使在调用Mail时:像Laravel一样发送但是在Lumen?
我已经尝试在我的Mailables上实现ShouldQueue Contract ,但它们仍然立即发送,我的队列正在工作,因为我在其他情况下明确地使用它们 .
首先,确保 .env 文件中的 QUEUE_DRIVER 不是 sync . 使用 database , beanstalkd 或 redis 驱动程序 .
.env
QUEUE_DRIVER
sync
database
beanstalkd
redis
其次,如果出现 queue is null 错误,则必须先绑定队列 .
queue is null
app('queue'); Mail::to($email)->send($mailable);
或者如果你的mailable没有实现ShouldQueue
app('queue'); Mail::to($email)->queue($mailable);
Source
1 回答
首先,确保
.env
文件中的QUEUE_DRIVER
不是sync
. 使用database
,beanstalkd
或redis
驱动程序 .其次,如果出现
queue is null
错误,则必须先绑定队列 .或者如果你的mailable没有实现ShouldQueue
Source