sbk/cron-bundle

此包已被废弃,不再维护。未建议替代包。

使用CronBundle,您可以在配置文件中配置cron作业

安装次数: 10,416

依赖者: 0

建议者: 0

安全: 0

星标: 10

关注者: 4

分支: 6

开放问题: 2

类型:symfony-bundle

1.0.1 2015-02-17 10:06 UTC

This package is not auto-updated.

Last update: 2023-03-29 05:09:50 UTC


README

通过配置设置cron作业的Symfony2 Bundle。

Build Status

安装

先决条件

此包需要Symfony 2.1+,因为它必须通过composer安装。

使用composer下载SbkCronBundle

将以下内容添加到您的项目中的 composer.json

{
    "require": {
        "sbk/cron-bundle": "dev-master"
    }
}

现在使用以下命令安装它

$ php composer.phar update sbk/cron-bundle

包应该下载到 vendor 目录。

启用包

您需要将包添加到 app/AppKernel.php

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Sbk\Bundle\CronBundle\SbkCronBundle(),
    );
}

导入服务

CronBundle依赖于某些服务,因此您需要在 app/config/config.yml 中导入服务配置。

imports:
    # ...
    - { resource: @SbkCronBundle/Resources/config/services.yml }

现在您应该可以使用Cron Manager了。

使用

配置任务

任务可以在 app/config/config(_prod).yml 中配置。

sbk_cron:
  tasks:
    clearcache:
      command: "cache:clear --env=prod"
      expression: "0 0 * * *"
    listoutput:
      bin: "ls"
      script: ""
      command: "-l > /var/log/listoutput.log"
      expression: "@daily"
      

sbk_cron.tasks 中的每个条目代表一个任务。

command

要执行的命令。默认情况下,cron管理器将在命令名称之前添加 php %kernel.root_dir%/console,因此配置控制台命令很容易。您可以使用此包运行任何命令,请继续阅读如何做到这一点。

expression

cron表达式,任何有效的表达式,您可以在cron表中输入。

bin

执行命令的二进制文件(默认为 php,您可以在执行命令中输入 '' 来省略bin)

script

将被调用的脚本(默认为 %kernel.root_dir%/console)。

运行主cron作业

尽管您可以使用此包配置所有cron作业,但您需要手动在crontab中添加一行,即 cron:run 命令。

* * * * * php /var/www/app/console cron:run

这将每分钟执行一次cron管理器。

管理器将检查哪些任务需要执行,并将为每个到期任务创建后台进程。