mhary/cron-bundle

使用 CronBundle,您可以在配置文件中配置定时任务

安装: 152

依赖者: 0

推荐者: 0

安全: 0

星标: 0

关注者: 2

分支: 6

类型:symfony-bundle

v2.0.2 2017-12-15 15:50 UTC

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