PHP 8.3.0 RC 6 available for testing

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServersAdd a list of job servers to the client

说明

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

Adds a list of job servers that can be used to run a task. No socket I/O happens here; the servers are simply added to the full list of servers.

参数

servers

A comma-separated list of servers, each server specified in the format 'host:port'.

返回值

成功时返回 true, 或者在失败时返回 false

示例

示例 #1 Add two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add multiple job servers, the first on the default 4730 port
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

参见

add a note

User Contributed Notes 2 notes

up
5
jachimcoudenys at gmail dot com
10 years ago
If you supply more than one server, it will always take the last server, unless it is unavailable. This is the way gearman works (and it is generally not a bad idea).

If you want to spread the jobs over multiple servers, you might want to shuffle the list of servers.
up
1
littlexiang521 at gmail dot com
9 years ago
actually client side will throw an exception when any of the servers is down or unreachable instead like

Fatal error: Uncaught exception 'GearmanException' with message 'Failed to set exception option' in /var/www/ipao/Api/Q2/Test/gm-test.php:11
Stack trace:
#0 /var/www/ipao/Api/Q2/Test/gm-test.php(11): GearmanClient->addServer('xxx.xxx.xxx.xxx')
#1 {main}
To Top