dbh/symfony-schedule-bundle

从 m-adamski/symfony-schedule-bundle 克隆

安装量: 2,407

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 2

类型:symfony-bundle

v2.2.0 2022-05-06 03:20 UTC

This package is auto-updated.

Last update: 2024-09-06 08:18:38 UTC


README

Symfony 的调度 Bundle

用于简化 CRON 作业操作的 Bundle。

安装

此 Bundle 可以通过 Composer 安装。

$ composer require Dbh/symfony-schedule-bundle

如何使用它?

Bundle 提供从指定文件配置管理 CRON 作业的功能。我们需要创建一个实现 Dbh\Symfony\ScheduleBundle\Model\ManagerInterface 接口的类。

namespace App\Model;

use Dbh\Symfony\ScheduleBundle\Model\ManagerInterface;
use Dbh\Symfony\ScheduleBundle\Model\Schedule;

class ScheduleManager implements ManagerInterface {

    public function schedule(Schedule $schedule) {
        // TODO: ..
    }
}

然后我们需要完成配置 - 创建文件 config/packages/schedule.yaml 并设置 ScheduleManager 的路径

schedule:
    manager: App\Model\ScheduleManager

命令调度配置

schedule 函数中,我们可以使用所需的表达式配置 CRON 作业。例如,我们希望在每天 12:00 运行 app:test-command

public function schedule(Schedule $schedule) {
    $schedule->command("app:test-command")->dailyAt("12:00");
}

调度类提供许多日期时间操作器。此功能受到 Laravel Tasks Scheduling 的启发。

调度频率选项

您可以为任务分配许多调度。

CRON

现在只需要在服务器上的 crontab 中插入一条条目即可。

* * * * * php /path-to-project/bin/console schedule:run >> schedule.log 2>&1

许可证

MIT