Current bundle version
Packagist Downloads
PHP version requirement
Symfony Insight
Infection score
License
FOSSA status
Daily runs
Daily runs
| Code style | Infection | PHPUnit | Rector | Security | Static analysis |
|---|---|---|---|---|---|
| Code style | Infection | PHPUnit | Rector | Security | Static analysis |
- External transports (Doctrine, Redis, etc)
- External configuration storage (Doctrine, Redis, etc)
- Retry / Remove / Sort policies
- Background worker
- Symfony/Messenger integration
- Mercure integration
- Fibers support
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
composer require guikingone/scheduler-bundle
If symfony/flex is not installed, manually update the config/bundles.php:
// config/bundles.php return [ // ... SchedulerBundle\SchedulerBundle::class => ['all' => true], ];
Then configure a transport in config/packages/scheduler.yaml:
# config/packages/scheduler.yaml scheduler_bundle: transport: dsn: 'filesystem://first_in_first_out'
Finally, it's time to create a simple task:
# config/packages/scheduler.yaml scheduler_bundle: transport: dsn: 'filesystem://first_in_first_out' tasks: foo: type: 'command' command: 'cache:clear' expression: '*/5 * * * *' description: 'A simple cache clear task' options: env: test
When a task is configured, time to execute it, two approaches can be used:
- Adding a cron entry
* * * * * cd /path-to-your-project && php bin/console scheduler:consume >> /dev/null 2>&1 - Launching the command
scheduler:consume --waitin a background command
- Usage
- Configuration
- Best practices
- Tasks
- Transports
- Lock
- Commands
- Events
- Lazy Loading
- Messenger
- HTTP entrypoint
- ExecutionPolicies
- SchedulePolicies
- Runners
- Worker
- Scheduler
- Middleware
- Probe
- Tests
- Mercure
Want to improve this bundle?