insidieux / task-bundle
Symfony 任务包
0.3.3
2022-01-11 19:01 UTC
Requires
- php: >=7.0
- ext-json: *
- doctrine/orm: ^2.5
- stof/doctrine-extensions-bundle: ^1.2
- symfony/config: ^4.3
- symfony/console: ^4.3
- symfony/dependency-injection: ^4.3
- symfony/framework-bundle: ^4.3
- symfony/http-kernel: ^4.3
README
概览
TaskBundle
提供了简单实现延迟任务的基础设施
需求
- PHP 7.0 或更高版本
- doctrine/orm: ^2.5
- stof/doctrine-extensions-bundle: ^1.2
- symfony/config: ^3.3
- symfony/console: 3.3
- symfony/dependency-injection: ^3.3
- symfony/http-kernel: ^3.3
- symfony/framework-bundle: ^3.3
安装
您可以使用 Composer 包管理器安装此包。您可以在项目的根目录中运行以下命令进行安装
composer require insidieux/task-bundle
不要忘记制作差异并运行迁移,以创建任务队列表
使用方法
首先,您需要添加一些新的命名空间以分离任务处理
task: debug: true namespaces: - 'namespace1' - 'namespace2'
在构建容器后,您将看到预定义的 worker
服务
task.worker.namespace1 task.worker.namespace2
您可以通过 cron
/supervisor
运行它们。您还可以通过传递 worker-id
到命令来扩展它们
$ bin/console task:worker:namespace --id 1 $ bin/console task:worker:namespace --id 2
创建一个继承自 \TaskBundle\Handler\AbstractHandler
的 PHP 类并实现 perform
方法,然后将创建的处理程序推送到队列
$this->getContainer()->get('task.services.pusher')->push(new SomeHandler, 'namespace1');
路线图
变更日志
此包的变更日志 在此
许可证
此包在 MIT 许可证 下发布
作者
- Ageev Pavel
- Barakin Alexandr