我从控制器发送了一份工作,使用
发送欢迎电子邮件$this->dispatch(new SendWelcomeEmail($user));
在 SendWelcomeEmail 作业<我执行
public function handle(Mailer $mailer)
{
$mailer->send('emails.welcome', ['data' => 'data'], function ($m) {
$m->from('noreply@gmail.com', 'Noreply');
$m->to('xyz@live.com', 'xyz')->subject('Welcome');
});
}
我的 .env 文件配置为
QUEUE_DRIVER=database
MAIL_DRIVER=smtp
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=*access*
MAIL_PASSWORD=*key*
MAIL_ENCRYPTION=tls
检查:
php artisan queue:listen
问题:作业已加载到“工作”中。数据库中的表但未处理。但是当我更新队列驱动器时,这个工作完全没问题。
QUEUE_DRIVER=sync
我在这里缺少什么?
答案 0 :(得分:0)
你的工作在课堂上有以下特点吗?
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
并实施:
ShouldQueue