If you suddenly start getting a:
PHP Fatal error: Uncaught exception 'GearmanException' with message 'Failed to set exception option' in
...on your GearmanWorker::work() calls, I was able to fix this by specifying values to GearmanWorker::addServer(), even if they are the same as the documented default values.
Crashes:
<?php
$gmw = new GearmanWorker();
$gmw->addServer();
$gmw->work();
?>
Works:
<?php
$gmw = new GearmanWorker();
$gmw->addServer("127.0.0.1", 4730);
$gmw->work();
?>
Go figure. :)
GearmanWorker::addServer
(PECL gearman >= 0.5.0)
GearmanWorker::addServer — Add a job server
説明
public bool GearmanWorker::addServer
([ string
$host = 127.0.0.1
[, int $port = 4730
]] )Adds a job server to this worker. This goes into a list of servers than can be used to run jobs. No socket I/O happens here.
パラメータ
-
host -
ジョブサーバーのホスト名。
-
port -
ジョブサーバーのポート番号。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例1 Add alternate Gearman servers
<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>
magge ¶
8 months ago
