Задания не стоят в очереди (электронные письма отправляются немедленно) - PullRequest
0 голосов
/ 13 января 2020

В настоящее время я сталкиваюсь с проблемой, когда мои электронные письма не стоят в очереди в Laravel 5.8.

Я запустил:

php artisan queue:table 
php artisan migrate
php artisan config:clear
php artisan config:cache

Контроллер:

$when = now()->addMinutes(2);

$customer->notify((new CustomerOrderItemStatusNotification($orderItem))->delay($when)); 

.env:

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=database
SESSION_DRIVER=file
SESSION_LIFETIME=120

очередь. php:

'connections' => [
    'sync' => [
        'driver' => 'sync',
    ],

    'database' => [
        'driver' => 'database',
        'table' => 'jobs',
        'queue' => 'default',
        'retry_after' => 90,
    ]
]

CustomerOrderItemStatusNotification:

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;

class CustomerOrderItemStatusNotification extends Notification
{
    use Queueable;

Проблема заключается в том, что он отправляет это немедленно, а не ждет две минуты, и при этом ничего не сохраняет в таблице «заданий».

1 Ответ

4 голосов
/ 13 января 2020

реализовать класс для интерфейса shouldQueue

use Illuminate\Contracts\Queue\ShouldQueue;

class CustomerOrderItemStatusNotification extends Notification implements ShouldQueue
{
    use Queueable;
...