vectorface / gearman
Gearman (http://www.danga.com/gearman) 是一个将工作分配给其他机器的系统。它可以对大量机器进行负载均衡功能调用,并允许您在不同语言之间调用函数。它还可以并行运行所有功能调用。
0.3.1
2024-09-11 19:46 UTC
Requires
- php: >=8.0
- ext-json: *
- ext-sockets: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^v3.59.3
- phpunit/phpunit: ^9.5.18
- symfony/process: ^v5.0.0
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。