tourze / doctrine-cron-job-bundle
Doctrine CronJob Bundle
0.1.2
2025-05-06 06:00 UTC
Requires
- php: ^8.1
- doctrine/dbal: ^4.0
- doctrine/doctrine-bundle: ^2.13
- doctrine/orm: ^3.0
- doctrine/persistence: ^3.1 || ^4
- symfony/config: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-kernel: ^6.4
- symfony/yaml: ^6.4 || ^7.1
- tourze/doctrine-indexed-bundle: 0.0.*
- tourze/doctrine-snowflake-bundle: 0.1.*
- tourze/doctrine-timestamp-bundle: 0.0.*
- tourze/doctrine-track-bundle: 0.1.*
- tourze/doctrine-user-bundle: 0.0.*
- tourze/easy-admin-attribute: 0.1.*
- tourze/symfony-cron-job-bundle: 0.1.*
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-05-11 17:47:33 UTC
README
This bundle provides functionality for managing cron jobs using Doctrine in Symfony projects.
Features
- Support for database-managed cron jobs
- Support for scheduled SQL query execution
- Integration with Symfony cron job system
- Entity management and repository services
Installation
composer require tourze/doctrine-cron-job-bundle
Usage
- Register the Bundle
// config/bundles.php return [ // ... Tourze\DoctrineCronJobBundle\DoctrineCronJobBundle::class => ['all' => true], ];
- Create a CronJob entity
use Tourze\DoctrineCronJobBundle\Entity\CronJob; $job = new CronJob(); $job->setName('my-job'); $job->setCommand('php bin/console app:my-command'); $job->setSchedule('* * * * *'); // Run every minute $job->setDescription('My cron job'); $job->setValid(true); // Save to database $entityManager->persist($job); $entityManager->flush();
- Create a CronSql entity
use Tourze\DoctrineCronJobBundle\Entity\CronSql; $cronSql = new CronSql(); $cronSql->setTitle('Statistics Task'); $cronSql->setSqlStatement('SELECT COUNT(*) FROM users'); $cronSql->setCronExpression('0 0 * * *'); // Run at midnight every day $cronSql->setValid(true); // Save to database $entityManager->persist($cronSql); $entityManager->flush();
Unit Tests
The project includes a complete unit test suite with all tests passing:
./vendor/bin/phpunit packages/doctrine-cron-job-bundle/tests
Test Plan Status
The following tests have been completed and passed:
- Entity Tests
- CronJob Entity Test (100% passed)
- CronSql Entity Test (100% passed)
- Provider Tests
- DoctrineProvider Test (100% passed)
- CronSqlProvider Test (100% passed)
- Dependency Injection Tests
- DoctrineCronJobExtension Test (100% passed)
- Bundle Tests
- DoctrineCronJobBundle Test (100% passed)
License
MIT License. See LICENSE file for more information.