cradlephp/cradle-queue

Cradle 的 AMQ 处理程序

安装量: 1,005

依赖关系: 2

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

类型:cradle-package

2.3.0 2020-06-20 10:11 UTC

This package is auto-updated.

Last update: 2024-09-20 20:21:17 UTC


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 分支上考虑。

  1. 分支存储库。
  2. 启动您的本地终端并切换到您想要贡献的版本。
  3. 进行更改。
  4. 始终确保在所有提交上签名(git commit -s -m "提交消息")

制作拉取请求

  1. 请确保在制作拉取请求之前运行 phpunitphpcs
  2. 将您的代码推送到您远程分支的版本。
  3. 回到您在 GitHub 上分支的版本并提交拉取请求。
  4. 所有拉取请求都将通过 Travis CI 进行测试。此外,请注意,Coveralls 也用于分析您贡献的覆盖率。