Skip to content
Cnone-Tech Documentation

Scheduler

Cnone-Tech DocsVeldriq

Veldriq

The host’s clock must call Laravel once per minute. Laravel then decides which of the registered commands are due. You do not schedule each command yourself. Cadence is every minute, not “regularly.”

That is different from the queue. Cron runs commands (generate PM occurrences, refresh licenses). The queue worker runs jobs (PDF, webhook, mail). You need both. A site with cron but no worker still will not generate invoice PDFs. A site with a worker but no cron will not generate PM occurrences or daily license refresh.

Terminal window
* * * * * cd /path/to/backend && /path/to/php artisan schedule:run >> /dev/null 2>&1

The PHP CLI binary must be 8.4 — the same major version as the site. On many cPanel accounts that path is not the word php.

Terminal window
cd /path/to/backend
php artisan schedule:list
php artisan schedule:run

schedule:list prints the registered tasks. schedule:run is one tick — the same thing cron should call. If the hand-run works and cron does not, the cron user cannot read .env, cannot find PHP 8.4, or the path is wrong.

Without cron: preventive maintenance does not generate, some cache/license tasks slip, and tier-B queue drain never runs.

Related: Troubleshooting cron · cPanel.