brianlmoon / net_gearman
用于管理 gearman 工作进程的 PHP 守护进程
2.2.2
2024-02-09 20:50 UTC
Requires
- php: ^7.0.0|^8.0.0
Requires (Dev)
- phpunit/phpunit: ^9.6
This package is auto-updated.
Last update: 2024-09-09 21:58:11 UTC
README
关于
Net_Gearman 是一个用于与 Gearman 交互的软件包。Gearman 是一个将工作分派给其他机器的系统,可以将函数调用调度到更适合执行工作的机器,以并行执行工作,负载均衡大量函数调用,或者在不同语言之间调用函数。
安装
$ composer require brianlmoon/net_gearman
示例
客户端
$client = new Net_Gearman_Client("localhost");
$set = new Net_Gearman_Set();
$task = new Net_Gearman_Task("Reverse_String", "foobar");
$task->attachCallback(
function($func, $handle, $result){
print_r($result)
}
);
$set->addTask($task);
$client->runSet($set, $timeout);
工作
class Reverse_String extends Net_Gearman_Job_Common {
public function run($workload) {
$result = strrev($workload);
return $result;
}
}
工作进程
为了最便捷地使用,请使用 GearmanManager 运行工作进程。请参阅:https://github.com/brianlmoon/GearmanManager
$worker = new Net_Gearman_Worker('localhost');
$worker->addAbility('Reverse_String');
$worker->beginWork();