【发布时间】:2016-04-05 00:43:56
【问题描述】:
我将 Lumen 5.1 和 Redis 用于队列。而且我有一个非常标准的事件处理程序,应该发送一封电子邮件:
<?php
namespace App\Handlers\Events;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\Events\UserHasRegistered;
use Illuminate\Contracts\Mail\Mailer;
class SendWelcomeEmail implements ShouldQueue
{
protected $mailer;
public function __construct(Mailer $mailer)
{
$this->mailer = $mailer;
}
public function handle(UserHasRegistered $event)
{
$user = $event->user;
$this->mailer->raw('Test Mail', function ($m) use ($user) {
$name = $user->getFirstName().''.$user->getLastName();
$m->to($user->auth()->getEmail(), $name)->subject('This is a test.');
});
}
}
邮件是在我不使用ShouldQueue接口时发送的。但是当我将事件处理程序推送到队列时(即使用ShouldQueue 接口),电子邮件没有发送,我也没有收到任何错误消息。
您对如何解决或调试此问题有任何想法吗?
【问题讨论】:
-
你跑
php artisan queue:listen了吗?
标签: laravel event-handling queue laravel-5.1 lumen