Hi everyone,
I’m testing Laravel (v11) email verification using queued jobs.
The application works correctly when using QUEUE_CONNECTION=sync, but when switching to a queue driver (database), the worker appears idle.
Command executed:
php artisan queue:work
The command runs without errors, but:
- No jobs are processed
- No output is shown in the terminal
- Email verification is not sent
Current setup:
QUEUE_CONNECTION=database
- Queue table created and migrated (
jobs table exists)
- Jobs are inserted into the
jobs table when registration occurs
- SMTP email works correctly when using
sync
- Gmail SMTP configured using App Password
- No visible error in terminal
Things already tried:
php artisan queue:restart
php artisan queue:work --verbose
php artisan queue:listen
php artisan config:clear && php artisan cache:clear
- Checked
storage/logs/laravel.log (no critical error)
Environment:
- PHP 8.x
- Laravel 11
- Running on local / cloud VM environment
Is there any additional worker configuration, permission issue, or environment-related setting (especially on cloud/VM) that could cause the queue worker to stay idle without errors?
Any insight or best practice would be greatly appreciated.
Thanks in advance.