eonx-com/schedule-bundle

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

为Symfony应用程序提供Laravel的命令调度逻辑

安装量: 1,644

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分叉: 0

开放问题: 1

类型:symfony-bundle

v1.0.0 2019-11-26 22:15 UTC

This package is auto-updated.

Last update: 2021-12-27 03:31:34 UTC


README

为Symfony应用程序提供Laravel的命令调度逻辑。

安装

$ composer require eonx-com/schedule-bundle

在为此包创建配方之前,您需要手动注册它

// config/bundles.php

return [
    // Other bundles...
    
    EonX\ScheduleBundle\ScheduleBundle::class => ['all' => true],
];

使用

注册您的计划命令

为了注册此包实现的计划命令,该包使用了一个“计划提供者”的概念,由于Symfony的自动配置功能,只需要创建实现 EonX\ScheduleBundle\Interfaces\ScheduleProviderInterface 的服务。传递给 schedule 方法的 ScheduleInterface 提供了Laravel控制台调度的所有功能。

// src/Schedule/MyScheduleProvider.php

use EonX\ScheduleBundle\Interfaces\ScheduleProviderInterface;

final class MyScheduleProvider implements ScheduleProviderInterface
{
    /**
     * Schedule command on given schedule.
     *
     * @param \EonX\ScheduleBundle\Interfaces\ScheduleInterface $schedule
     *
     * @return void
     */
    public function schedule(ScheduleInterface $schedule): void
    {
        $schedule
            ->command('poc:hello-world', ['-v'])
            ->everyMinute()
            ->setMaxLockTime(120);
    
        $schedule
            ->command('poc:hello-world-2')
            ->everyFiveMinutes();
        }
    }
}

运行计划

此包提供了一个控制台命令来运行计划

$ php bin/console schedule:run