Gab*_*ich 9 php queue sendmail laravel
我试图使用Mail ::队列发送和发送电子邮件,但是当我调用此函数时,它简单地发送邮件,并且响应被延迟...我认为使用Mail :: queue的目的是排队.. ..
我希望即时响应,而不必等待发送电子邮件
例如
Mail::queue('emails.template', $data, function($message) {
$message->to('somemail@gmail.com');
$message->subject('Notificacion');
});
return Response::json(array('error' => 0, 'message' => 'Ok'));
Run Code Online (Sandbox Code Playgroud)
我希望在不等待邮件发送的情况下收到回复.我怎样才能做到这一点???
app/config/queue.php - 'default' param您使用的是什么队列驱动程序 ( )?如果您正在使用sync,并且尚未设置其他任何一个,那么您正在使用同步驱动程序,它完全符合名称的意思:任务一创建就运行排队的任务。
您需要为 Laravel 配置一个 MQ 服务器以与之通信。您可以为此获得一个免费的 iron.io 帐户,然后您需要对其进行配置,例如:
'iron' => array(
'driver' => 'iron',
'project' => 'iron-io-project-id',
'token' => 'iron-io-queue-token',
'queue' => 'queue-name',
),
Run Code Online (Sandbox Code Playgroud)
然后当你使用Mail::queue()它时会将指令推送到iron.io。然后,您必须让另一个线程侦听队列 -php artisan queue:listen在消息被推送到队列时运行并保持运行。