GearmanClient::addServers

(PECL gearman >= 0.5.0)

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

说明

public GearmanClient::addServers ([ string $servers = 127.0.0.1:4730 ] ) : 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

范例

Example #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");

?>

参见

User Contributed Notes

littlexiang521 at gmail dot com 21-Feb-2014 08:00
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}
jachimcoudenys at gmail dot com 30-Jul-2013 08:14
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.