2017 © Pedro Peláez
 

symfony-bundle cronbundle

Simple Cronjob management for Symfony applications

image

alpixel/cronbundle

Simple Cronjob management for Symfony applications

  • Friday, April 7, 2017
  • by gouaille
  • Repository
  • 3 Watchers
  • 3 Stars
  • 7,513 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 1 Forks
  • 2 Open issues
  • 8 Versions
  • 3 % Grown

The README.md

CRONBundle

SensioLabsInsight Build Status StyleCI Scrutinizer Code Quality Latest Stable Version, (*1)

The AlpixelCronBundle is a fork of predakanga/CronBundle which isn't maintained anymore. It provides a Symfony Bundle capable of saving cronjob and running them at given intervals., (*2)

Installation

  • Install the package
composer require 'alpixel/cronbundle:^2.0'
  • Update AppKernel.php

<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Alpixel\Bundle\CronBundle\CronBundle(), ); // ... } // ... }
  • If you use doctrine migrations create new migration
php app/console doctrine:migrations:diff
php app/console doctrine:migrations:migrate
  • or update DB Schema
php app/console doctrine:schema:update
  • Start using the bundle
//analyze all the cron task available and register them
php app/console cron:scan 

//Run the cron analyzer
php app/console cron:run
  • CRON setup

In order to run the symfony cron:run task, you should setup a real cronjob on the server just as follows. This example check the cron scrip every 5 minutes., (*3)

*/5 * * * * /usr/bin/php /path/to/symfony/install/app/console cron:run --env="prod"

Creating a new task

Creating your own tasks with CronBundle couldn't be easier - all you have to do is create a normal Symfony2 Command (or ContainerAwareCommand) and tag it with the @CronJob annotation, as demonstrated below:, (*4)

use Alpixel\Bundle\CronBundle\Annotation\CronJob;

/**
 * @CronJob(value="P1D", startTime="today 12:00")
 */
class DemoCommand extends Command
{
    public function configure()
    {
        // Must have a name configured
        // ...
    }

    public function execute(InputInterface $input, OutputInterface $output)
    {
        // Your code here
    }
}

The interval spec ("PT1H" in the above example) is documented on the DateInterval documentation page, and can be modified. For your CronJob to be scanned and included in future runs, you must first run app/console cron:scan - it will be scheduled to run the next time you run app/console cron:run, (*5)

You can also configure the startTime to schedule the first run of the cronjob., (*6)

Limitations

Be aware that your cron will be runned by the PHP CLI so your Symfony won't have any information about your website real URL (unless you specified it somewhere). So, for example, if you use the cron to send an email, you can't rely on the "url()" in a twig template since Symfony doesn't know what your domain is., (*7)

The Versions

07/04 2017

dev-master

9999999-dev https://www.alpixel.fr

Simple Cronjob management for Symfony applications

  Sources   Download

MIT

The Requires

 

by ALPIXEL

cronjob symfony2 bundle symfony cron alpixel

07/04 2017

2.0.1

2.0.1.0 https://www.alpixel.fr

Simple Cronjob management for Symfony applications

  Sources   Download

MIT

The Requires

 

by ALPIXEL

cronjob symfony2 bundle symfony cron alpixel

11/04 2016

2.0

2.0.0.0 https://www.alpixel.fr

Simple Cronjob management for Symfony applications

  Sources   Download

MIT

The Requires

 

by ALPIXEL

cronjob symfony2 bundle symfony cron alpixel

26/01 2016

1.1.3

1.1.3.0 https://www.alpixel.fr

Simple Cronjob management for Symfony applications

  Sources   Download

MIT

The Requires

 

by ALPIXEL

cronjob symfony2 bundle symfony cron alpixel

22/01 2016

1.1.2

1.1.2.0 https://www.alpixel.fr

Simple Cronjob management for Symfony applications

  Sources   Download

MIT

The Requires

 

by ALPIXEL

cronjob symfony2 bundle symfony cron alpixel

22/01 2016

1.1.1

1.1.1.0 https://www.alpixel.fr

Simple Cronjob management for Symfony applications

  Sources   Download

MIT

The Requires

 

by ALPIXEL

cronjob symfony2 bundle symfony cron alpixel

25/02 2015

1.1

1.1.0.0

  Sources   Download

The Requires

 

by Benjamin HUBERT

13/02 2015

1.0

1.0.0.0

  Sources   Download

The Requires

 

by Benjamin HUBERT