bupy7 / zf-queue
此包已被弃用且不再维护。未建议替代包。
Laminas 的队列模块。
2.0.0
2020-11-28 15:43 UTC
Requires
- php: ^7.1
- container-interop/container-interop: ^1.2
- laminas/laminas-modulemanager: ^2.7
- laminas/laminas-servicemanager: ^3.1
- laminas/laminas-stdlib: ^3.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.4
- laminas/laminas-test: ^3.0
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2022-12-28 20:28:27 UTC
README
为 Laminas 提供的抽象队列模块。模块只包含创建自定义集成的抽象层。
安装
通过 composer 安装此扩展是首选方式。
运行以下命令
$ php composer.phar require bupy7/zf-queue "*"
或
"bupy7/zf-queue": "*"
将以下内容添加到您的 composer.json 文件的 require 部分。
集成
预集成
创建自定义集成
待办事项
使用方法
创建任务
让我们为队列创建第一个示例任务
// YourModule/src/task/ExampleTask.php namespace YourModule\Task; use Bupy7\Queue\Task\TaskInterface; use Laminas\Stdlib\ParametersInterface; use Chat\Service\ChatService; class SendAccountTask implements TaskInterface { /** * @var ChatService */ protected $chatService; public function __construct(ChatService $chatService) { $this->chatService = $chatService; } /** * @param ParametersInterface $params * - message (string) * @return bool */ public function execute(ParametersInterface $params): bool { $this->chatService->send($params->get('message')); return true; } }
运行任务
您需要将任务注册到队列管理器后:
// YouModule/config/queue.config.php namespace YourModule; return [ 'queue_manager' => [ 'factories' => [ Task\ExampleTask::class => \Laminas\ServiceManager\AbstractFactory\ReflectionBasedAbstractFactory::class, ], ], ];
现在,将 queue.config.php
添加到您的配置列表中
// YourModule/src/YourModule.php class Module { public function getConfig(): array { return array_merge( // another config files require __DIR__ . '/../config/queue.config.php' ); } }
将任务添加到队列
$container->get('Bupy7\Queue\Service\QueueService')->add('YourModule\Task\ExampleTask');
运行队列
$container->get('Bupy7\Queue\Service\QueueService')->run();
许可证
zf-queue 在 BSD 3-Clause 许可证下发布。