Download the PHP package caeligo/scheduler-bundle without Composer
On this page you can find all versions of the php package caeligo/scheduler-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package scheduler-bundle
Caeligo Scheduler Bundle
A file-based task scheduler bundle for Symfony with a built-in web dashboard and full CLI management.
Why Caeligo?
- No database required — Fully file-based storage. No Doctrine, no migrations, no extra infrastructure. Install and run in minutes.
- Built-in web dashboard — A standalone, ready-to-use Twig UI ships with the bundle. Manage tasks, browse logs, and control your crontab — all from the browser, out of the box.
- Native PHP attribute discovery — Use the modern
#[AsSchedulableCommand]attribute on your commands. No YAML task definitions, no manual registration, no separate entity classes. - Crontab management from CLI and web — Install or uninstall your system crontab entry with a single command or a button click. No manual server configuration needed.
- Shared hosting friendly — Works without long-running workers, message queues, or Redis. A simple cron job is all you need. An HTTP trigger fallback is also available.
Features
- Cron expressions & simple intervals — Both scheduling modes supported
- 10 CLI commands — Full terminal-based management: list, status, enable, disable, run, logs, purge, install, uninstall, and more
- Overlap prevention — Skip task execution when a previous run is still in progress
- Role-based access — Configurable role requirements for dashboard and crontab management
- CSRF protection — All dashboard POST actions are CSRF-protected
- Automatic log retention — Old execution logs are cleaned up automatically
- EasyAdmin integration — Optional integration for projects already using EasyAdmin
- Zero-config defaults — Sensible defaults let you get started with minimal configuration
Requirements
- PHP 8.2+
- Symfony 6.4 or 7.x
- No database or additional services required
Installation
Enable the Bundle
If you're not using Symfony Flex, add the bundle to config/bundles.php:
Configure Routes
Create config/routes/caeligo_scheduler.yaml:
Basic Configuration
Create config/packages/caeligo_scheduler.yaml:
For all configuration options, see Configuration Reference.
Quick Start
1. Make a Command Schedulable
Add the #[AsSchedulableCommand] attribute to any Symfony console command:
2. Install the Crontab
This adds a crontab entry that runs the scheduler every minute:
3. Enable Tasks
Or use the web dashboard at /scheduler.
4. Verify
CLI Commands
| Command | Description |
|---|---|
caeligo:scheduler:run |
Run overdue scheduled tasks (crontab entry point) |
caeligo:scheduler:list |
List all discovered schedulable commands |
caeligo:scheduler:status |
Show overall scheduler health and status |
caeligo:scheduler:run-now <command> |
Execute a specific task immediately |
caeligo:scheduler:enable <command> |
Enable a scheduled task |
caeligo:scheduler:disable <command> |
Disable a scheduled task |
caeligo:scheduler:install |
Install the scheduler crontab entry |
caeligo:scheduler:uninstall |
Remove the scheduler crontab entry |
caeligo:scheduler:logs |
Show recent task execution logs |
caeligo:scheduler:purge-logs [command] |
Purge execution logs (all or per task) |
For detailed CLI usage, see CLI Reference.
Web Dashboard
A standalone web dashboard ships with the bundle — no separate admin package or frontend build step needed. Available at the configured route_prefix (default: /scheduler).
- Tasks — View, enable/disable, edit, and run tasks directly from the browser
- Logs — View execution history with full output details and status indicators. Clear logs per task or globally.
- Settings — Install or remove the system crontab entry with a single click
For dashboard details, see Dashboard Guide.
Documentation
| Document | Description |
|---|---|
| Configuration Reference | All configuration options in detail |
| CLI Reference | Detailed usage of all 9 console commands |
| Dashboard Guide | Web dashboard features and usage |
| Scheduling Guide | Cron expressions, intervals, and task options |
| Architecture & Storage | File-based storage, locking, and internals |
| Security | Role-based access, CSRF, and security considerations |
| HTTP Trigger | Shared hosting fallback via HTTP trigger |
| EasyAdmin Integration | Optional EasyAdmin dashboard integration |
| Testing | Running the test suite |
Makefile Integration (Optional)
If your project uses a Makefile (common in Symfony projects), you can add convenient shortcut targets:
License
MIT — see LICENSE.
All versions of scheduler-bundle with dependencies
symfony/framework-bundle Version ^6.4 || ^7.0 || ^8.0
symfony/console Version ^6.4 || ^7.0 || ^8.0
symfony/process Version ^6.4 || ^7.0 || ^8.0
symfony/dependency-injection Version ^6.4 || ^7.0 || ^8.0
symfony/config Version ^6.4 || ^7.0 || ^8.0
symfony/filesystem Version ^6.4 || ^7.0 || ^8.0
symfony/twig-bundle Version ^6.4 || ^7.0 || ^8.0
symfony/routing Version ^6.4 || ^7.0 || ^8.0
symfony/security-bundle Version ^6.4 || ^7.0 || ^8.0
dragonmantank/cron-expression Version ^3.3