2013-05-04 22 views
5

Próbuję zrozumieć Gearmana, ale do tej pory nie wiem, jaka jest różnica między zadaniem a pracą.Jaka jest różnica między pracą i zadaniem Gearmana?

Próbuję utworzyć klienta, który będzie okresowo analizować (co 10 minut) stronę XML. Jakie jest najlepsze podejście?

+1

Zlecenie zwraca uchwyt i zostanie wykonane w przyszłości asynchronicznie, podczas gdy zadanie jest blokowane, a po zwróceniu wywołania wykona jednostkę pracy za Ciebie. Jeśli przetwarzasz XML według harmonogramu, po prostu wywołasz parser bezpośrednio z crona; serwer zadań jest bardziej przydatny, gdy masz zestaw zadań, które są tworzone w sposób nieprzewidywalny (np. żądanie użytkownika) i muszą być wykonane w uporządkowany, ograniczony do zasobów sposób. – halfer

+0

@halfer - Nie sądzę, aby zadanie musiało być blokowane. Niektóre zadania w zadaniu można uruchamiać niezależnie dla przykładów w osobnych wątkach i można je łączyć ze sobą za pomocą metody join() w celu zakończenia zadania. – nanosoft

Odpowiedz

2

Instrukcja offers a terrific explanation:

Praca vs. Zadania

Zadanie jest każdy wniosek lub komunikacji między klientem a serwerem praca . Zadanie jest zwykle komunikacją o pracy: o numerze. Zadania mogą być następujące: please run this job lub what is the status of this job. Zadaniem jest coś, co pracownik robi, ciągle czekając na serwerze pracy, aby powiedzieć mu, kiedy zacząć i jakie argumenty. Klienci przesyłają zadania i pytają o status dotyczący miejsc pracy (obie te rzeczy są uważane za zadania ). Pracownicy faktycznie wykonują zadania.