norvutec / cron-manager
Bundle for managing cronjobs in a symfony project
Installs: 187
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.2
- doctrine/doctrine-bundle: ^2.12
- doctrine/orm: ^3.2
- dragonmantank/cron-expression: ^2.2 || ^3.0
- sentry/sentry-symfony: ^5.0
- symfony/framework-bundle: ^7.1
- symfony/lock: ^7.1
Requires (Dev)
- phpunit/phpunit: ^8.0
- symfony/symfony: ^7.1
README
Installation
Installing this bundle can be done through these simple steps:
- Add the bundle to your project as a composer dependency:
composer require norvutec/cron-manager
- Add the bundle to your application kernel:
// app/AppKernel.php public function registerBundles() { // ... $bundle = array( // ... new NorvuTec\CronManagerBundle\NorvuTecCronManagerBundle(), ); // ... return $bundle; }
- Update your DB schema
bin/console make:migration bin/console doctrine:migrations:migrate
- Start using the bundle:
bin/console cron-manager:list bin/console cron-manager:run
- To run your cron jobs automatically, add the following line to your (or whomever's) crontab:
* * * * * /path/to/symfony/install/app/console cron-manager:run 1>> /dev/null 2>&1
- If you want to use the overview controller, create the file
config/routes/norvutec_cronmanager.yaml
with the following content:
norvutec_cronmanager: resource: '@NorvutecCronManagerBundle/config/routes.yaml' prefix: '/cron-manager'
You now have access to the following routes:
cronmanager_index
: Overview of all jobscronmanager_details
: Details of a specific job
Available commands
list
bin/console cron-manager:list
Show a list of all jobs. Job names are show with [x]
if they are enabled and [ ]
otherwise.
run
bin/console cron-manager:run [--force] [job]
Dependencies
CronManager requires symfony/lock
to lock the job execution.
If you want to use named locks, use cronmanager as keyword.