Gearman gibt mir GEARMAN_COULD_NOT_CONNECT, es läuft definitiv
Mein Entwickler-Server ist Debian Squeeze und ich verwende Gearman 1.1.5, das ich aus dem Quellcode zusammen mit der PHP-Pecl-Erweiterung v1.1.1 kompiliert habe
Wenn ich das Skript reverse_client.php ausführe, erhalte ich den Fehler 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
Hier gibt es ein paar ähnliche Posts, die darauf hindeuten, dass GM nicht läuft.
Es istbestimmt Laufen.
Ich beginne es mit diesen Parametern:
PARAMS="--queue-type=MySQL --mysql-db=test_db --mysql-user=gearman --mysql-password=gearman"
Wenn ich die gearman_queue-Tabelle in test_db ablege und dann den Daemon neu starte, wird die Tabelle neu erstellt, sodass die MySQL-Verbindung in Ordnung ist und klar beginnt.
Ich kann auch auf localhost zu 4730 telneten, so dass es kein Firewall-Problem gibt.
Anfänglich hatte GM Probleme beim Starten, da es vor mysql gestartet wurde, also habe ich das Init-Skript bearbeitet
### BEGIN INIT INFO
# Provides: gearman-job-server
# Required-Start: $network $remote_fs $syslog mysql
und einupdate-rd.c gearman-job-server defaults
Stellt es so ein, dass es danach startet, und es startet jetzt beim Booten.
Das einzige andere, was mir einfällt, ist, dass ich anfangs über apt installiert hatte, aber die Version zu alt war, also habe ich sie entfernt und aus dem Quellcode kompiliert. / usr / sbin / gearmand existiert nicht mehr. Die einzige Version ist / usr / local / sbin / gearmand
ps ax | grep gearman
zeigt nur einen laufenden Prozess.
Netstat zeigt nur einen laufenden Prozess
tcp 0 0 *:4730 *:* LISTEN 2325/gearmand
Die PECL-Bibliothek scheint in Ordnung zu sein:
php -i | grep gearman
/etc/php5/cli/conf.d/gearman.ini,
gearman
gearman support => enabled
libgearman version => 1.1.5
Ich habe keine Ideen mehr