mhary / cron-bundle
使用 CronBundle,您可以在配置文件中配置定时任务
Requires
- php: >=7.0
- mtdowling/cron-expression: 1.2.*
- symfony/framework-bundle: 2.8.*|^3.0
Requires (Dev)
- monolog/monolog: ~1.7.0
- phpunit/phpunit: ~4.3
- symfony/console: 2.8.*|^3.0
- symfony/options-resolver: 2.8.*|^3.0
- symfony/process: 2.8.*|^3.0
This package is not auto-updated.
Last update: 2024-09-19 18:06:54 UTC
README
Symfony2 / Symfony 3 Bundle,用于通过配置设置定时任务。
基于不支持的 skck/SbkCronBundle 的分支
PHP 7.0+ 需要
安装
先决条件
此扩展包需要 Symfony 2.1+
现在使用以下命令安装它
composer require mhary/cron-bundle
启用扩展包
您需要在 app/AppKernel.php
中添加扩展包
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Mhary\Bundle\CronBundle\MharyCronBundle(), ); }
导入服务
CronBundle 依赖于某些服务,因此您需要在 app/config/config.yml
中导入服务配置
imports:
# ...
- { resource: @MharyCronBundle/Resources/config/services.yml }
现在您应该可以使用 Cron Manager 了。
使用方法
配置任务
可以在 app/config/config(_prod).yml
中配置任务。
mhary_cron:
tasks:
clearcache:
command: "cache:clear --env=prod"
expression: "0 0 * * *"
listoutput:
bin: "ls"
script: ""
command: "-l > /var/log/listoutput.log"
expression: "@daily"
mhary_cron.tasks
中的每个条目代表一个任务。
command
要执行的命令。默认情况下,cron 管理器将在命令名称之前添加 php %kernel.root_dir%/console
,因此配置控制台命令很简单。您可以使用此扩展包运行任何命令,请继续阅读如何操作。
expression
cron 表达式,任何您会在 cron 表中输入的有效表达式。
bin
将执行命令的二元文件(默认为 php
,您可以在执行命令中输入 ''
来省略二元文件)
script
将被调用的脚本(默认为 %kernel.root_dir%/console
)。
运行主定时任务
尽管您可以使用此扩展包配置所有定时任务,但您仍需要手动在 crontab 中添加一行,即 cron:run
命令。
* * * * * php /var/www/app/console cron:run
这将每分钟执行一次 cron 管理器。
管理器将检查哪些任务需要执行,并为每个到期任务创建后台进程。
许可协议
MIT 许可协议。有关许可协议的全文,请参阅 LICENSE