kepfe/cron-manager

Symfony3 的 Cron 管理器

1.0.7 2017-08-01 13:34 UTC

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 任务

  1. 创建一个类似于这里描述的 Symfony 命令 https://symfony.com.cn/doc/master/components/console.html

  2. 在 cm_cron 数据库中创建一个新条目,包含以下字段

    其余字段留空

Cron 管理器执行

php bin/console cm:run --interval=600 --processCheck=1

####选项

  • --interval: 您的 Linux Cron 执行间隔 - 默认执行间隔为 600 秒
  • --processCheck: 当启用时,它将检查进程 ID 以避免重叠执行