В Laravel 5.7 я запустил это, используя очередь базы данных, и все работало нормально.С другой стороны, при использовании Redis у меня возникает проблема с public $queue
.По какой-то странной причине:
- Если я установлю
public $queue
, письмо будет отправлено немедленно. - Если я удаляю
public $queue
почта добавляется в очередь по умолчанию.
У меня есть файл, подобный приведенному ниже:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class TestEmail extends Mailable implements ShouldQueue
{
use Queueable, SerializesModels;
public $queue = 'mail';
}
Почтовый классвызывается с использованием send()
аналогично: Mail::to($request->user())->send(new OrderShipped($order));
Когда я переключаюсь на определение очереди, очередь все равно не работает:
Mail::to($request->user())
->queue(new OrderShipped($order));