PHP 8.1.28 Released!

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServersДобавить список серверов задач для клиента

Описание

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

Добавляет список серверов задач, которые могут использоваться для выполнения задачи. Никаких операций ввода-вывода c сокетом здесь не происходит. Сервера просто добавляются к полному списку серверов.

Список параметров

servers

Список серверов, разделённых запятыми. Каждый сервер указан в формате 'host:port'.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Добавление двух серверов задач

<?php

# Создаём наш клиентский объект
$gmclient= new GearmanClient();

# Добавляем несколько серверов задач, первый из них работает по умолчанию на порту 4730
$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
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