vectorface/gearman

Gearman (http://www.danga.com/gearman) 是一个将工作分配给其他机器的系统。它可以对大量机器进行负载均衡功能调用,并允许您在不同语言之间调用函数。它还可以并行运行所有功能调用。

0.3.1 2024-09-11 19:46 UTC

This package is auto-updated.

Last update: 2024-09-11 19:47:35 UTC


README

这是对 mhlavac/gearman 的分支,不幸的是该项目已被放弃。

PHP 库,用于与 Danga 的 Gearman 进行接口。Gearman 是一个将工作分配给其他机器的系统,将功能调用调度到更适合执行工作的机器,以并行执行工作,对大量功能调用进行负载均衡,或在不同语言之间调用函数。

安装

将以下行添加到您的 composer.json 文件中

"vectorface/gearman": "^0.2"

您可以使用以下命令

composer.phar require --dev vectorface/geaman:^0.2

示例

客户端

<?php

$client = new \Vectorface\Gearman\Client();
$client->addServer();

$result = $client->doNormal('replace', 'PHP is best programming language!');
$client->doBackground('long_task', 'PHP rules... PHP rules...');

工作器

<?php

$function = function($payload) {
    return str_replace('java', 'php', $payload);
};

$worker = new \Vectorface\Gearman\Worker();
$worker->addServer();
$worker->addFunction('replace', $function);

$worker->work();

版本控制

此库使用 语义版本控制

许可证

此库受新 BSD 许可证的约束。查看完整许可证。 查看完整许可证

关于

我开始这项工作是因为您不能在 Windows 上编译 PECL gearman 扩展,而我必须使用这段代码。此项目的目标是复制 PECL gearman 扩展,并允许 PHP 开发者将此实现用作其 polyfill。