Scheduler

LBM does for schedule tasks

Applies to LBM 2.x Updated 1 November 2026

LBM does its timed work, such as raising invoices, sending reminders and queued email, provisioning paid orders and charging saved cards, from one scheduler command that runs every minute. Without it none of that happens: invoices are not raised and queued email is not sent.

The one cron line #

On a Linux server, add this to the crontab of the user the site runs as (replace the folder with where LBM is installed):

* * * * * cd /var/www/billing && php laika schedule:run > /dev/null 2>&1

You do not need one line per task. LBM decides which tasks are due each minute.

Let LBM add it for you #

Open Settings > Utilities > Automation. It shows whether scheduled work is running and the exact line for your server. Press Install cron to write the line into the crontab of the user the site runs as; your other cron lines are left alone.

The button cannot work, and says why, when:

  • the server is Windows,
  • PHP's proc_open is switched off, or
  • no PHP command-line program is found.

In those cases copy the line into your hosting panel's cron page.

No cron? Use web cron #

If you cannot add the line, Automation can give you a secret address to call every minute from your hosting panel's cron page or a cron service, for example:

wget -q -O - "https://billing.example.com/…secret address…"

Keep the address secret: anyone with it can start the scheduled tasks. New address makes a new one and the old one stops working at once.

On Windows #

Create a Scheduled Task that runs every minute:

php C:\path\to\billing\laika schedule:run

The Automation screen shows the line for your folder.

Check that it works #

Back on Settings > Utilities > Automation:

  • "Scheduled tasks last ran a moment ago" means it is working.
  • A run more than a few minutes ago, or "never ran", means the cron line is missing or failing.
Tip

The cron user must be able to write to system/ and run the same PHP version as the site. If the line runs but nothing happens, run it by hand from a terminal as that user and read what it prints.

Something missing or wrong? Tell us or contact us.