Browse docs

Cron job

Updated

On this page
  1. What the scheduler runs
  2. Check the PHP binary

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.

Start free