guikingone/scheduler-bundle

一个允许调度和创建重复性任务的Symfony扩展包

安装次数: 193,011

依赖者: 0

建议者: 0

安全性: 0

星标: 111

关注者: 4

分支: 10

开放问题: 31

类型:symfony-bundle

0.10.4 2024-02-02 13:59 UTC

README

SchedulerBundleHero

Current bundle version Packagist Downloads PHP version requirement Symfony Insight Infection score License FOSSA status

每日运行

一个用于调度/消费重复性任务的Symfony扩展包

主要功能

  • 外部传输(Doctrine、Redis等)
  • 外部配置存储(Doctrine、Redis等)
  • 重试/删除/排序策略
  • 后台工作进程
  • Symfony/Messenger 集成
  • Mercure 集成
  • Fibers 支持

安装

确保全局已安装Composer,如Composer文档的安装章节中所述。

composer require guikingone/scheduler-bundle

快速入门

如果未安装symfony/flex,手动更新config/bundles.php

// config/bundles.php

return [
    // ...
    SchedulerBundle\SchedulerBundle::class => ['all' => true],
];

然后在config/packages/scheduler.yaml配置传输

# config/packages/scheduler.yaml
scheduler_bundle:
    transport:
        dsn: 'filesystem://first_in_first_out'

最后,是时候创建一个简单任务

# config/packages/scheduler.yaml
scheduler_bundle:
    transport:
        dsn: 'filesystem://first_in_first_out'
    tasks:
        foo:
            type: 'command'
            command: 'cache:clear'
            expression: '*/5 * * * *'
            description: 'A simple cache clear task'
            options:
                env: test

当配置了任务,需要执行的时间时,可以使用两种方法

  • 添加cron条目 * * * * * cd /path-to-your-project && php bin/console scheduler:consume >> /dev/null 2>&1
  • 在后台命令中启动命令 scheduler:consume --wait

文档

贡献

想要改进此扩展包吗?