eonx-com / schedule-bundle
该包已被废弃,不再维护。未建议替代包。
为Symfony应用程序提供Laravel的命令调度逻辑
v1.0.0
2019-11-26 22:15 UTC
Requires
- php: ^7.3
- dragonmantank/cron-expression: ^2.3
- nesbot/carbon: ^2.22
Requires (Dev)
- eonx-com/core-bundle: ^1.0
- symfony/symfony: ^4.3
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