lamoda / tactician-queue-bundle
此包已被弃用,不再维护。未建议替代包。
为 lamoda/tactician-queue 库提供的 Symfony 扩展包
1.1.0
2020-02-06 12:05 UTC
Requires
- php: ^7.1
- doctrine/orm: ^2.6.3
- lamoda/queue-bundle: ^1.0 || ^2.0
- lamoda/tactician-queue: ^1.0
- league/tactician: ^1.0
- league/tactician-bundle: ^1.1.17
- symfony/serializer: ^3.4 || ^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpunit/phpunit: ^7.5.15
- symfony/symfony: ^3.4 || ^4.0
This package is auto-updated.
Last update: 2023-06-06 20:00:33 UTC
README
库提供中间件,允许您通过 Tactician 以异步或延迟方式执行命令
安装
Composer
composer require lamoda/tactician-queue-bundle
配置
在使用前,请阅读 lamoda/queue-bundle 的文档
扩展包为 tactician 集成提供特殊中间件。此中间件增加了异步命令执行和带计划的事件的支持。
要启用此功能,请执行以下操作
- 添加额外配置
lamoda_tactician_queue: tactician_id: tactician.commandbus # Command bus service id command_serializer_id: lamoda_tactician_queue.default_command_serializer # Symfony serializer
- 添加至少一个策略,该策略将命令转换为工作项
services: # ... several_domain_commands_strategy: class: Lamoda\TacticianQueue\Middleware\QueueProducerStrategy\CommandsListToCommandJobStrategy arguments: - async_command_queue - async_command_exchange - [ My\AsyncCommandInterface, My\SecondCommand ] - 15 # optional delay tags: - { name: tactician_queue.job_producing_strategy }
- 将队列中间件添加到 tactician 中间件列表中
tactician: commandbus: default: middleware: - tactician.middleware.locking - lamoda_tactician_queue.middleware # Here it is - tactician.middleware.command_handler
- 现在每次调用
<?php $commandBus->handle(new My\SecondCommand());
此命令将被发布到队列中。