PHP Conference Japan 2024

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers將工作伺服器列表新增至客戶端

描述

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

新增可用於執行任務的工作伺服器列表。此處不會發生 Socket 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 年前
實際上,當任何伺服器關閉或無法連線時,客戶端會拋出例外,而不是像這樣:

Fatal error: Uncaught exception 'GearmanException' with message 'Failed to set exception option' in /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