2015-11-25 15 views
5

Używam Gearman server wraz z Gearman Manager, z ich interfejsem PHP. konfiguracja wygląda tak, jak pokazano poniżej. Serwer Gearmana może znajdować się na jednej z dwóch maszyn lub na trzeciej maszynie.Sprawdź status pracownika Gearman na konkretnej maszynie

enter image description here

Dla mojego implemnetation, muszę być w stanie powiedzieć od jednego pracownika, jeśli inny pracownik na tym samym komputerze jest zajęty lub wolny. np. Powinienem wiedzieć, czy Pracownik 2 na maszynie 1 jest wolny od Pracownika 1 na maszynie 1. Czy można to zrobić za pomocą PHP API lub interfejsu telnet?

Możliwe rozwiązanie

Na interfejsie Telnet polecenia „pracowników” daje listę wszystkich pracowników podłączonych do serwera wraz z ich adresów IP. Wierzę, że mogę tego użyć do wykonania mojego zadania. Znalazłem PHP script, aby uzyskać te informacje za pomocą telnetu.

Odpowiedz

0

Podejrzewam, że proponowane przez ciebie rozwiązanie jest mniej niż optymalne, jednak nie dostarczyłeś żadnych informacji o problemie, który próbujesz rozwiązać, więc postaram się odpowiedzieć na to pytanie. Będziesz musiał komunikować się między pracownikami a telnetem, co jest prawdopodobnie rozwiązaniem mniej niż idealnym. Możesz zajrzeć do systemu publikacji pubów/sub Redis dla komunikacji między procesami. Wystarczy, że pracownicy opublikują i zasubskrybują kanał oparty na nazwie komputera i zaprojektują prostą metodę nadawania statusu robotnikom.