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

7.1.3 2024-08-15 13:51 UTC

This package is auto-updated.

Last update: 2025-03-15 15:09:21 UTC


README

License

Installation

Installing this bundle can be done through these simple steps:

  1. Add the bundle to your project as a composer dependency:
composer require norvutec/cron-manager
  1. Add the bundle to your application kernel:
// app/AppKernel.php
public function registerBundles()
{
    // ...
    $bundle = array(
        // ...
        new NorvuTec\CronManagerBundle\NorvuTecCronManagerBundle(),
    );
    // ...

    return $bundle;
}
  1. Update your DB schema
bin/console make:migration
bin/console doctrine:migrations:migrate
  1. Start using the bundle:
bin/console cron-manager:list
bin/console cron-manager:run
  1. 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
  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 jobs
  • cronmanager_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.