infuse / cron
Scheduled tasks module for Infuse Framework
Installs: 2 772
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/infuse/cron
Requires
- php: >=7.1
- symfony/event-dispatcher: ^4.3
- symfony/lock: ^4.3
Requires (Dev)
- infuse/infuse: ~1.6
- mockery/mockery: ~1.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: 6.0.*
- pulsar/pulsar: ~0.9
- robmorgan/phinx: ~0.8
This package is auto-updated.
Last update: 2025-10-16 09:16:57 UTC
README
Scheduled jobs module for Infuse Framework
Installation
- 
Install the package with composer: composer require infuse/cron
- 
Add the console command to run jobs to console.commandsin your app's configuration:'console' => [ // ... 'commands' => [ // ... 'Infuse\Cron\Console\RunScheduledCommand' ] ] 
- 
Add the migration to your app's configuration: 'modules' => [ 'migrations' => [ // ... 'Cron' ], 'migrationPaths' => [ // ... 'Cron' => 'vendor/infuse/cron/src/migrations' ] ] 
- 
Add scheduled jobs to the cronsection of your app's configuration:'cron' => [ [ 'id' => 'users:cleanup', 'class' => 'App\Users\ScheduledJobs\Cleanup', 'minute' => 0, 'hour' => 0, 'expires' => 60, 'successUrl' => 'https://webhook.example.com' ], [ 'id' => 'orgs:bill', 'class' => 'App\Billing\ScheduledJobs\Bill' ] ] 
- 
Code up your jobs. Each job class must be invokeable. 
- 
Add this to your crontab to begin running app cron jobs in the background: * * * * * php /var/www/example.com/infuse cron:run 
Events
You can subscribe to events with event subscribers from the symfony/event-dispatcher component. Your subscribers an listen to these events:
- schedule_run.begin
- schedule_run.finished
- cron_job.begin
- cron_job.finished
When you have created an event subscriber you can add it to your config like this:
'cronSubscribers' => [ 'App\EventSubscribers\MySubscriber' ]
Webhooks
You can optionally specify a URL that will be called upon a successful run. The output from the run will be available using the m query parameter. This was designed to be compatible with Dead Man's Snitch.