PHP Conference Japan 2024

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers向客户端添加作业服务器列表

描述

public GearmanClient::addServers(string $servers = null, bool $setupExceptionHandler = true): bool

添加可以用来运行任务的作业服务器列表。此处不会发生套接字 I/O;服务器只是简单地添加到服务器的完整列表中。

参数

servers

服务器的逗号分隔列表,每个服务器都采用 'host:port' 的格式指定。

返回值

成功时返回 true,失败时返回 false

范例

示例 #1 添加两个作业服务器

<?php

# 创建客户端对象。
$gmclient= new GearmanClient();

# 添加多个作业服务器,第一个服务器使用默认的 4730 端口
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

参见

添加注释

用户贡献的注释 2 条注释

jachimcoudenys at gmail dot com
11 年前
如果您提供多个服务器,它将始终采用最后一个服务器,除非该服务器不可用。这是 gearman 的工作方式(通常这不是一个坏主意)。

如果您想将作业分散到多个服务器上,您可能需要打乱服务器列表。
littlexiang521 at gmail dot com
10 年前
实际上,当任何服务器关闭或无法访问时,客户端都会抛出异常,而不是像

致命错误:捕获到异常“GearmanException”,消息为“无法设置异常选项”,位于 /var/www/ipao/Api/Q2/Test/gm-test.php:11
堆栈跟踪
#0 /var/www/ipao/Api/Q2/Test/gm-test.php(11): GearmanClient->addServer('xxx.xxx.xxx.xxx')
#1 {main}
To Top