brianlmoon/net_gearman

用于管理 gearman 工作进程的 PHP 守护进程

2.2.2 2024-02-09 20:50 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();