Queued mail and Slack need a worker. Enable the feature in .env:
QUEUE_ENABLE=true
The GitBook page that said QUEUE_ENABLE=false after adding cron is incorrect for this codebase. Listeners check config('queue.enable'), which reads QUEUE_ENABLE. Use true when you want the queue.
VPS / SSH crontab
Every two minutes, process the high and default queues and exit:
*/2 * * * * /usr/bin/php /var/www/protask/artisan queue:work --queue=high,default --stop-when-empty
Replace /var/www/protask with the real project path. Confirm the PHP binary (which php).
Shared hosting without a long-running worker can use:
php /path/to/application/artisan queue:work --queue=high,default --stop-when-empty
on a schedule, same flags.
cPanel / URL cron
If you cannot run Artisan, hit the HTTP endpoint:
*/2 * * * * wget -q -O - https://your-domain.com/cron/queue_work >/dev/null 2>&1
That maps to CronJobsController::queueWork.
Global Settings also documents a three-minute variant (*/3). Two or three minutes is fine; pick one and do not stack five overlapping workers.
Scheduler vs queue
This cron is not the same as php artisan schedule:run. Due-task reminders need the scheduler as well.
← All ProTask – Project Management Software with Time Tracking & Team Collaboration documentation