Search by

maikschneider / scheduler-as-code

m.schneider

Manage TYPO3 scheduler tasks as YAML files in version control: export existing tasks, sync them into the database on deployment, and mark file-managed tasks in the Scheduler module.

Package info

github.com/maikschneider/scheduler-as-code

Documentation

Type:typo3-cms-extension

pkg:composer/maikschneider/scheduler-as-code

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

0.1.0 2026-10-06 07:44 UTC

README

Extension icon

TYPO3 extension scheduler_as_code

Latest version Supported TYPO3 versions Supported PHP versions Tests Coverage CGL License

This TYPO3 extension keeps scheduler tasks in YAML files under version control. Scheduler tasks normally live only in the database, so every environment drifts: a task created on staging never reaches production, and the repository cannot tell which tasks a project is supposed to run. With this extension, the files are the source of truth and the database follows them.

# config/scheduler/cleanup-deleted.yaml

type: 'cleanup:deletedrecords'
description: 'Remove deleted records older than 30 days'
group: 'Maintenance'
execution:
  frequency: '0 3 * * *'
parameters:
  options:
    min-age: 30

Commit the file and deploy. The task appears in the Scheduler module on the next request, with no extra deployment step.

✨ Features

Automatic import: Runs when TYPO3 boots after the task files changed or the caches were flushed

  • New files create tasks, changed files update them, removed files disable them
  • A task deleted in the backend comes back while its file exists
  • Last execution, running executions and failures are never touched

Export: scheduler:export turns existing tasks into task files and links them

Task files: Console commands and task classes, cron expressions or intervals

Site sets: Extensions ship tasks with a site set

  • Imported while a site uses the set, disabled when none does
  • A project file overrides the set's task

Badges in the Scheduler module: See at a glance which tasks come from a file

  • Managed in file, with the source file on hover
  • Out of sync for tasks changed in the backend since their last import or export
  • File removed for tasks whose file is gone

🔥 Installation

Requirements

  • TYPO3 13.4 LTS or 14.3 LTS
  • PHP 8.2+

Composer

Packagist Packagist Downloads

composer require maikschneider/scheduler-as-code

TER

TER version TER downloads

Download the zip file from TYPO3 extension repository (TER).

📂 Setup

Create the extension's database columns:

vendor/bin/typo3 extension:setup

Then export the tasks you already have and commit them:

vendor/bin/typo3 scheduler:export
git add config/scheduler

From now on, change tasks in their files. See Usage for what each change does to a task.

📙 Documentation

Please have a look at the official extension documentation.

🧑‍💻 Contributing

Please have a look at CONTRIBUTING.md.

⭐ License

This project is licensed under GNU General Public License 2.0 (or later).