olbie/miniq

迷你队列

0.2.1 2024-04-28 14:49 UTC

This package is auto-updated.

Last update: 2024-09-28 15:39:28 UTC


README

MiniQ是一个针对队列管理设计的简约PHP库,利用套接字进行进程间通信。它提供了一种简单的方法来管理任务队列,并使用工作进程处理这些队列。MiniQ基于ReactPHP组件构建,适合异步PHP应用程序。

特性

  • 简单轻量级的队列管理。
  • 使用Unix套接字进行通信。
  • 易于集成到ReactPHP事件循环。
  • 支持异步任务处理。

翻译

  • 俄语
  • 乌克兰(进行中)

安装

您可以使用Composer安装MiniQ。在您的项目目录中运行以下命令

composer require olbie/miniq

要求

  • PHP 8.1或更高版本
  • Composer用于依赖管理

使用

服务器设置

创建服务器以管理您的任务

<?php

require_once __DIR__ . '/vendor/autoload.php';

use olbie\MiniQ\MiniQ;

$miniQ = new MiniQ(__DIR__);
$server = $miniQ->createServer();
$server->start();

工作设置

设置工作进程以处理任务

<?php

use olbie\MiniQ\MiniQ;
use React\EventLoop\Loop;

require_once __DIR__ . '/vendor/autoload.php';

$miniQ = new MiniQ(__DIR__);
$worker = $miniQ->createWorkerServer();
$worker->run();

客户端使用

使用客户端向队列添加任务

<?php

use olbie\MiniQ\MiniQ;
use olbie\MiniQ\Job;

require_once __DIR__ . '/vendor/autoload.php';

$totalTask = 25;
$miniQ = new MiniQ(__DIR__);
$client = the miniQ->createClient();

for ($i = 0; $i < $totalTask; $i++) {
    $client->set(new Job(rand(1, 10)));
}

待办事项

  • 编写测试
  • 编写许可文件
  • 翻译文档
    • 乌克兰
    • 俄语
  • 制作symfony bandle

许可

GPL-3.0-or-later。有关更多详细信息,请参阅LICENSE文件。

贡献

欢迎贡献!

联系方式

如有问题或反馈,请联系Oleksii Bielokudrenko,邮箱:oleksii.bielokudrenko@gmail.com