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