Gearman daje mi GEARMAN_COULD_NOT_CONNECT, zdecydowanie działa

Moim serwerem jest Debian Squeeze i używam Gearmana 1.1.5, który skompilowałem ze źródła wraz z rozszerzeniem pecl php v1.1.1

Jeśli uruchomię skrypt reverse_client.php, otrzymuję błąd GEARMAN_COULD_NOT_CONNECT.

PHP Warning: GearmanClient::do(): send_packet(GEARMAN_COULD_NOT_CONNECT) Failed to send server-options packet -> libgearman/connection.cc:430 in /home/bealers/build/gearman-1.1.1/examples/reverse_client.php on line 26

Jest tu kilka podobnych postów na ten temat i wszystkie wskazują, że GM nie działa.

To jestZdecydowanie bieganie.

Zaczynam od tych parametrów:

PARAMS="--queue-type=MySQL --mysql-db=test_db --mysql-user=gearman --mysql-password=gearman"

Jeśli upuszczę tabelę gearman_queue w pliku test_db, uruchom ponownie demona, a tabela zostanie odtworzona, więc jego połączenie mysql jest poprawne i wyraźnie się uruchamia.

Mogę także telnetować się do 4730 na localhost, więc nie ma problemu z firewallem.

Początkowo GM miał problemy z uruchomieniem, ponieważ zaczynał się przed mysql, więc edytowałem skrypt inicjujący

### BEGIN INIT INFO
# Provides:          gearman-job-server
# Required-Start:    $network $remote_fs $syslog mysql

i anupdate-rd.c gearman-job-server defaults ustawia go na początek i zaczyna się dobrze po uruchomieniu.

Jedyną rzeczą, o której mogę pomyśleć, jest to, że początkowo zainstalowałem go za pomocą apt, ale wersja była stara, więc usunąłem ją i skompilowałem ze źródła. / usr / sbin / gearmand już nie istnieje, jedyną wersją jest / usr / local / sbin / gearmand

ps ax | grep gearman pokazuje tylko jeden uruchomiony proces.

Netstat wyświetla tylko jeden uruchomiony proces

tcp 0 0 *:4730 *:* LISTEN 2325/gearmand

Lib PECL wygląda dobrze:

php -i | grep gearman

/etc/php5/cli/conf.d/gearman.ini,
gearman
gearman support => enabled
libgearman version => 1.1.5

Nie mam pomysłów

questionAnswers(4)

yourAnswerToTheQuestion