I'm working on queue and I found custom queue won't be run.
I run php artisan queue:work --queue=emails and I dispatch queue MyJob::dispatch()->onQueue('emails')->delay(now()->addMinutes(1)).
In database table jobs will be like this:
| id | queue | payload |
|---|---|---|
| 1 | emails | ... |
After 1 minute:
| id | queue | payload |
|---|---|---|
| 2 | default | ... |
It seems queue emails is processed, and remove from database. Then create another job for queue default with the same payload and job queue default will never run except I run php artisan queue:work --queue=emails,default
In Laravel documentation not mention to always run queue default. https://laravel.com/docs/8.x/queues#specifying-the-connection-queue
Is it correct behaviour?