根据此注释,当前发布的 Gearman 版本在添加多个服务器方面效果不佳,尽管在 SVN 中已修复。
参见:https://bugs.php.net/bug.php?id=59423
如果我只向我的工作程序添加一个服务器,它可以正常工作并等待执行作业。
如果我的工作程序中有多个服务器,我会收到超时警告,这会导致工作程序生成 PHP 通知,并且 while 循环失败。
(PECL gearman >= 0.5.0)
GearmanWorker::addServers — 添加作业服务器
向此工作程序添加一个或多个作业服务器。这些服务器将进入一个服务器列表,该列表可用于运行作业。此处不会发生套接字 I/O。
servers
作业服务器的逗号分隔列表,格式为 host:port。如果未指定端口,则默认为 4730。
示例 #1 添加两个作业服务器
<?php
$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");
?>
根据此注释,当前发布的 Gearman 版本在添加多个服务器方面效果不佳,尽管在 SVN 中已修复。
参见:https://bugs.php.net/bug.php?id=59423
如果我只向我的工作程序添加一个服务器,它可以正常工作并等待执行作业。
如果我的工作程序中有多个服务器,我会收到超时警告,这会导致工作程序生成 PHP 通知,并且 while 循环失败。