Есть master сервер и два сервера slave.
192.168.0.1 - master
192.168.0.2 - slave
192.168.0.3 - slave
Необходимо настроить Gearman, чтобы он из мастера отдавал задачи на slave.
Отправка задания с мастера происходит следующим образом.
$client = new GearmanClient();
$client->addServers('192.168.0.2:4730, 192.168.0.3:4730');
$client->doBackground('run', json_encode($data));
Приём задания на slave работает следующим образом
$worker = new GearmanWorker();
$worker->addServers('192.168.0.1:4730');
$worker->addFunction('run', function (){
echo "ok\n";
});
$worker->work();
При запуске скрипта отправки задания на мастере получаю ошибку: GearmanClient::doBackground(): send_packet(GEARMAN_COULD_NOT_CONNECT) Failed to send server-options packet -> libgearman/connection.cc:433
При запуске скрипта обработки задач на лейве, скрипт ждёт задания, но через telnet не видно его.
Как вообще происходит взаимодействие с серверами и как разрешить подключиться к другому серверу?