phpday 2025 - Call For Papers

GearmanClient::addServers

(PECL gearman >= 0.5.0)

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

Description

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.

Parameters

servers

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

Return Values

Returns true on success or false on failure.

Examples

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

?>

See Also

add a note

User Contributed Notes 2 notes

up
5
jachimcoudenys at gmail dot com
11 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
10 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