kempfe / cron-manager
Cron Manager for Symfony3
Installs: 53
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/kempfe/cron-manager
Requires
- php: >=5.5.9
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- mtdowling/cron-expression: ^1.1
- symfony/symfony: >=3.0
This package is not auto-updated.
Last update: 2026-02-09 15:01:25 UTC
README
Cron Manager for Symfony 3 Create managable cron tasks for your symfony project
Installing
1. Add the dependency to your project:
composer require kempfe/cron-manager
2. Add package to your AppKernel.php
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new CronManager\CronManager()
];
...
3. Update your database
php bin/console doctrine:schema:update --force
####This Package is based on mtdowling/cron-expression Cron Expression Parser
Creating a Cron Task
-
Create a Symfony Command like described here http://symfony.com/doc/master/components/console.html
-
Create a new database entry into cm_cron with fields:
- name: crontask name
- expression: cron expression - read more on https://packagist.org/packages/mtdowling/cron-expression
- command: symfony console command fx. appbund:test
- arguments: arguments passed to the console command
- active: 1 for active cron - 0 for inactive
leave the rest of the fields blank
Cron Manager Execution
php bin/console cm:run --interval=600 --processCheck=1
####Options
- --interval: Your Linux Cron execution interval - default execution interval is 600 seconds
- --processCheck: When enabled it checks process id to avoid overlapping executions