Вам следует установить значение retry_after равным 1800 в config / queue.php.
Вы можете создать несколько очередей повторной отправки, использующих одно и то же соединение, и отправить свою работу в указанную очередь.
queue.php:
'redis' => [
'connection' => env('QUEUE_REDIS_CONNECTION'),
'driver' => 'redis',
'queue' => 'default',
'retry_after => 60
],
'redis_low' => [
'connection' => env('QUEUE_REDIS_CONNECTION'),
'driver' => 'redis',
'queue' => 'email',
'retry_after => 1800
]
В вашей работе:
Job::dispatch()->onQueue('email');