Skip to content
KMD Agency Documentation

Scheduler & Cron

KMD Agency relies on Laravel’s task scheduler for several important, recurring jobs: draining the background email/SMS queue, periodically re-validating your license, checking for updates, and recording a heartbeat System Health uses to confirm everything is actually running.

The one cron entry you need

Add this single cron job in your hosting control panel, running every minute:

Cron entry (every minute) bash
cd /path/to/your/site && php artisan schedule:run >> /dev/null 2>&1

No Redis, Supervisor, Docker, root access, or systemd is required — this single line is genuinely sufficient on ordinary shared hosting.

A built-in safety net

Some hosting environments run cron unreliably. KMD Agency includes a fallback: real visits to your site can also trigger the same scheduled tasks, rate-limited so it never runs more than once a minute regardless of traffic. This means the platform keeps functioning even if your host’s cron genuinely never fires — but a real cron entry is still recommended, since it works even during periods with no visitors at all.

Reading the diagnostics

System Health shows a detailed scheduler panel — and it reports honestly, never claiming cron is confirmed working when it can’t actually prove that.

FieldMeaning
Last heartbeatWhen a scheduled run last actually completed.
Expected / observed intervalHow often it should run vs. how often it actually has.
SourceSee below — the honest part.
PHP binary / Artisan pathExactly what the scheduler is running, for your own diagnosis or for support.
Next scheduled taskWhat’s due to run next, and when.

Source: what the platform can actually prove

  • Native cron confirmed — the strongest signal available: a recent run that doesn’t coincide with the web-traffic fallback having just fired.
  • Web-traffic fallback only — the scheduler is running, but only the built-in fallback has evidence of doing so. Everything still works, but this is the moment to actually check your cron job is configured correctly.
  • Not yet observed — no run has been recorded at all.

PHP has no way to directly inspect your host’s real crontab. “Source” is an honest inference from what the platform itself can observe, not a guarantee — treat “fallback only” as a prompt to double-check your cron configuration, not as proof it’s broken.