cron / cron-bundle
Symfony cron
Installs: 1 178 058
Dependents: 2
Suggesters: 0
Security: 0
Stars: 188
Watchers: 11
Forks: 77
Open Issues: 2
Type:symfony-bundle
Requires
- php: >=8.1
- ext-pcntl: *
- ext-posix: *
- cron/cron: ^1.0.1
- doctrine/collections: *
- doctrine/dbal: *
- doctrine/orm: >=2.4.5
- doctrine/persistence: *
- symfony/config: ^5.0|^6.0|^7.0
- symfony/console: ^5.0|^6.0|^7.0
- symfony/dependency-injection: ^5.0|^6.0|^7.0
- symfony/http-kernel: ^5.0|^6.0|^7.0
- symfony/process: ^5.0|^6.0|^7.0
Requires (Dev)
- doctrine/doctrine-bundle: *
- monolog/monolog: *
- phpunit/phpunit: ^10
- symfony/security-csrf: ^5.0|^6.0|^7.0
- symfony/translation: ^5.0|^6.0|^7.0
- symfony/yaml: ^5.0|^6.0|^7.0
This package is auto-updated.
Last update: 2024-11-29 20:09:26 UTC
README
Cron integration for symfony.
Installation
Installing this bundle can be done through these simple steps:
- Add the bundle to your project as a composer dependency:
composer require cron/cron-bundle
- Add the bundle to your application kernel:
// app/AppKernel.php public function registerBundles() { // ... $bundle = array( // ... new Cron\CronBundle\CronCronBundle(), ); // ... return $bundle; }
- Update your DB schema
bin/console make:migration bin/console doctrine:migrations:migrate
- Start using the bundle:
bin/console cron:list bin/console cron:run
- To run your cron jobs automatically, add the following line to your (or whomever's) crontab:
* * * * * /path/to/symfony/install/app/console cron:run 1>> /dev/null 2>&1
OR If you don't have a dedicated cron daemon (e.g. in Heroku), you can use:
bin/console cron:start # will run in background mode, use --blocking to run in foreground bin/console cron:stop # will stop the background cron daemon
Available commands
list
bin/console cron:list
Show a list of all jobs. Job names are show with [x]
if they are enabled and [ ]
otherwise.
create
bin/console cron:create
Create a new job.
delete
bin/console cron:delete _jobName_
Delete a job. For your own protection, the job must be disabled first.
enable
bin/console cron:enable _jobName_
Enable a job.
disable
bin/console cron:disable _jobName_
Disable a job.
run
bin/console cron:run [--force] [job]
which we borrowed from Symfony. Make sure to check out php-cs-fixer as this will help you a lot. Please note that
--force
forces the job to be executed (even if disabled) based on the job schedule
run now, independent of the job schedule
bin/console cron:run --schedule_now [--force] job
run in non-cli contexts (i.e. from a controller)
bin/console cron:run --script-name='bin/console'
start
bin/console cron:start [--blocking]
Start the cron as a daemon. By default it forks itself to the background and suppresses any output. The --blocking
option will keep it in the foreground and will display output. This is useful when you don't have a dedicated cron daemon (e.g. on Heroku).
stop
bin/console cron:stop
Stops the background cron daemon started with cron:start
. This is not applicable when the daemon was started with --blocking
.
If you would like to help, take a look at the list of issues.
Requirements
PHP 5.5.9 or above
Author and contributors
Dries De Peuter - dries@nousefreak.be - http://nousefreak.be
See also the list of contributors who participated in this project.
License
CronBundle is licensed under the MIT license.