kepfe / cron-manager
Symfony3 的 Cron 管理器
1.0.7
2017-08-01 13:34 UTC
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: 2024-09-23 07:44:31 UTC
README
Symfony 3 的 Cron 管理器 为您的 symfony 项目创建可管理的 crontask
安装
1. 将依赖添加到您的项目中
composer require kempfe/cron-manager
2. 将包添加到您的 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. 更新您的数据库
php bin/console doctrine:schema:update --force
####本包基于 mtdowling/cron-expression Cron 表达式解析器
创建 Cron 任务
-
创建一个类似于这里描述的 Symfony 命令 https://symfony.com.cn/doc/master/components/console.html
-
在 cm_cron 数据库中创建一个新条目,包含以下字段
- name: crontask 名称
- expression: cron 表达式 - 更多信息请参阅 https://packagist.org.cn/packages/mtdowling/cron-expression
- command: symfony console 命令,例如 appbund:test
- arguments: 传递给控制台命令的参数
- active: 1 为活动 cron - 0 为不活动
其余字段留空
Cron 管理器执行
php bin/console cm:run --interval=600 --processCheck=1
####选项
- --interval: 您的 Linux Cron 执行间隔 - 默认执行间隔为 600 秒
- --processCheck: 当启用时,它将检查进程 ID 以避免重叠执行