skie / cakephp-scheduling
CakePHP Scheduling manager
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=8.2
- cakephp/cakephp: ^5.0
- dragonmantank/cron-expression: ^3.3.2
- skie/signal_handler: ^1.0
- symfony/process: ^6.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ^4.0
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-09-17 17:58:00 UTC
README
The Scheduling plugin provides comprehensive task scheduling for CakePHP applications with the following features:
The scheduler allows you to fluently and expressively define your command schedule within your CakePHP application itself. When using the scheduler, only a single cron entry is needed on your server. Your task schedule is defined during your application's container building phase using CakePHP's event system.
The plugin provides task scheduling capabilities with sub-minute precision, allowing you to schedule tasks as frequently as every second. It features a fluent API for defining task frequencies from seconds to yearly intervals, with human-readable syntax that makes complex schedules easy to understand and maintain.
Task overlap prevention ensures that long-running tasks don't interfere with subsequent executions, while single-server execution prevents duplicate task runs in multi-server environments. Background task execution allows multiple tasks to run simultaneously, improving overall system performance.
The plugin includes comprehensive task hooks for before, after, success, and failure callbacks, enabling you to implement custom logic around task execution. Repeatable tasks with configurable intervals provide flexibility for tasks that need to run multiple times within a minute.
The plugin integrates seamlessly with CakePHP's console system and event manager.
Requirements
- PHP 8.2+
- SignalHandler Plugin (for graceful termination)
See Versions.md for the supported CakePHP versions.
Documentation
For documentation, as well as tutorials, see the Docs directory of this repository.
License
Licensed under the MIT License. Redistributions of the source code included in this repository must retain the copyright notice found in each file.