Glossary

Scheduler

The task scheduling of TYPO3, for everything that should happen regularly and without anyone doing it.

What the Scheduler is for

Some things should happen regularly without anyone clicking: a data import from another system, clearing out old logs, sending a newsletter, refreshing a Solr index.

The Scheduler manages those tasks with an execution time and a log. What it does not do is start itself. That requires a cron job on the server that calls it at regular intervals.

The most common source of trouble

Most installations come to grief at exactly that division. In the backend the tasks are cleanly set up and given a schedule, and nobody calls them, because the cron job is missing, went astray during a server move, or runs under the wrong conditions.

It is a silent fault: the website works, and only things nobody actively misses are absent. Until somebody asks why the product data has been weeks out of date.

Monitoring is part of it

So we treat scheduled tasks as part of operations rather than as a setup step. Anything somebody relies on gets an alert, and one that fires when execution stops as well, not only on errors.

There is more on this under TYPO3 maintenance.

Common questions

Why are our scheduled tasks not running?

In the vast majority of cases because the cron job on the server is missing or has stopped. The Scheduler is only the administration; it is triggered from outside, usually once a minute.

Second most common cause: the cron job runs under a different user or with a different PHP version than the website. Neither shows up for a long time, because everything looks right in the backend.

How do we notice when a task fails?

Only if somebody has set that up. The Scheduler logs errors, but it does not phone anyone. Without a notification, a silent failure only surfaces when somebody misses the result.

So for critical tasks we set up an alert and also check whether a task is still running at all, rather than only watching for errors. A task that no longer starts does not report anything either.

Terms used on this page

Is what should run in the background actually running?

We check whether the scheduled tasks really complete, and whether anyone would notice if they stopped.