cradlephp / cradle-queue
Cradle 的 AMQ 处理程序
2.3.0
2020-06-20 10:11 UTC
Requires
- cradlephp/framework: ~2.3.0
- php-amqplib/php-amqplib: ^2.6
Requires (Dev)
- php-coveralls/php-coveralls: ~2.1.0
- phpunit/phpunit: 7.0.2
- squizlabs/php_codesniffer: 3.2.3
README
RabbitMQ 带有 Fork 和 Exec 工作进程。为 Cradle 框架构建
安装
如果您已经安装了 Cradle,可能不需要安装此软件包,因为它可能已经包含在内。
composer require cradlephp/cradle-queue
bin/cradle cradlephp/cradle-queue install
设置
打开 /config/services.php
并添加
'rabbitmq-main' => [
'host' => '127.0.0.1',
'port' => 5672,
'user' => 'guest',
'pass' => 'guest'
],
方法
cradle('cradlephp/cradle-queue')->queue(*string $event, array $data);
一种简单的队列方法。
cradle('cradlephp/cradle-queue')
->queue()
->setData(*array $data)
->setDelay(*string $delay)
->setPriority(*int $priority)
->setQueue(*string $queueName)
->setRetry(*int $retry)
->send(*string $task, bool $duplicates = true);
返回用于高级操作的队列类。如果您想防止重复进入您的队列,将 $duplicates
标志设置为 false 并开启 Redis(这是我能想到的唯一方法)。
命令行
您可以通过命令行像以下示例那样排队事件。
$ cradle queue event-name foo=bar zoo=foo
以下命令可以启动工作进程。
$ cradle work
$ cradle work --mode exec
$ cradle work --mode fork
cradle work --mode exec
- 使用exec()
来处理任务。这用于在您想管理后台进程的情况下。cradle work --mode fork
- 使用pntl_fork
来处理任务。这是另一种管理后台进程的方法。
为 Cradle PHP 做贡献
感谢您考虑为 Cradle PHP 做贡献。
请勿在此存储库中创建问题。官方问题跟踪器位于 https://github.com/CradlePHP/cradle/issues 。在此处创建的问题很可能会被忽略。
请注意,master 分支包含当前版本的最新版本。请检查您正在使用的版本并找到相应的分支。例如,v1.1.1
可以在 1.1
分支中找到。
错误修复将尽快审查。也将考虑小功能,但请给我时间来审查它并回复您。主要功能将仅在 master
分支上考虑。
- 分支存储库。
- 启动您的本地终端并切换到您想要贡献的版本。
- 进行更改。
- 始终确保在所有提交上签名(git commit -s -m "提交消息")