©
本文檔使用 php中文網手册 發布
(PECL gearman >= 0.5.0)
GearmanClient::addServer — Add a job server to the client
$host
= 127.0.0.1
[, int $port
= 4730
]] )Adds a job server to a list of servers that can be used to run a task. No socket I/O happens here; the server is simply added to the list.
host
任务服务器主机名。
port
任务服务器端口号。
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 Adding two job servers
<?php
# Create our client object.
$gmclient = new GearmanClient ();
# Add two job servers, the first on the default 4730 port
$gmclient -> addServer ( "10.0.0.1" );
$gmclient -> addServer ( "10.0.0.2" , 7003 );
?>
[#1] kosta250 at gmail dot com [2015-11-23 00:14:24]
Adding to Amit's comments, I found that if the first server in the list of servers is down, then there seems to be no way to handle such a condition.
[#2] Peter [2015-03-02 11:18:25]
Solution:
https://bugs.launchpad.net/gearmand/+bug/1118751
[#3] Amit [2013-10-29 18:19:03]
The addServer and addServers are unforgiving when any of the addresses are down. I tried using exceptions, but it does not quite work. Can you provide a working example to handle a list of servers where one or more is not running.
Thanks
[#4] info at phpgangsta dot de [2013-04-08 11:22:00]
Since a few versions the port parameter is not optional anymore. I have version 1.1.1 of pecl/gearman compiled with libgearman 1.1.5, and I'm getting the following error:
send_packet(GEARMAN_COULD_NOT_CONNECT) Failed to send server-options packet -> libgearman/connection.cc:430
This happens if you don't provide a port.
Just set the second parameter to 4730 and it is working again.