Cron job
Updated
On this page
Cron is optional. You need it for email reports, alerts and webhooks, and if you set TIDEMARK_INGEST=queue or TIDEMARK_RETENTION_DAYS above zero. (Update checks don't need it: they also run while an administrator is using the app.)
In cPanel, open Cron Jobs and add a job that runs every minute:
* * * * * php /home/you/tidemark/artisan schedule:run >> /dev/null 2>&1
What the scheduler runs
| Task | When | Condition |
|---|---|---|
Run queued jobs: the ingest queue and the sending of alert webhooks (queue:work --stop-when-empty --max-time=50) |
Every minute | TIDEMARK_INGEST=queue, or QUEUE_CONNECTION is anything but sync (the default is database). A webhook can take up to a minute to leave after its alert fires; with sync it is sent at once |
tidemark:prune |
Daily at 03:15 | TIDEMARK_RETENTION_DAYS is above 0 |
tidemark:check-updates |
Daily, at a minute chosen per installation | TIDEMARK_UPDATE_CHECK is on (the default). Also runs without cron while an administrator uses the app |
alerts:run |
Every five minutes | Always; does nothing until a site has alert rules |
reports:send |
Hourly | Outgoing email is configured. Sends the weekly and monthly reports that are due, at 08:00 in each site's timezone |
cache:prune-stale-tags |
Hourly | Cache store is Redis |
The queue job does not overlap itself, so a slow run never stacks.
Check the PHP binary
Some hosts have several PHP versions. If the job fails, use the full path to a PHP 8.3 binary, for example /usr/local/bin/ea-php83.
Was this helpful?
Ready to try Tidemark?
Free plan, no credit card. No cookies, no footprints.