2013-05-04 9 views
5

Sto cercando di capire Gearman ma fino ad ora non riesco a capire quale sia la differenza tra compito e lavoro.Qual è la differenza tra il lavoro e l'incarico di Gearman?

Sto provando a creare un client che analizzerà periodicamente (ogni 10 minuti) una pagina XML. Qual è l'approccio migliore?

+1

Un lavoro restituisce un handle e verrà eseguito in futuro in un momento in modo asincrono, mentre un'attività si blocca e al ritorno della chiamata avrà eseguito l'unità di lavoro. Se stai analizzando XML su una pianificazione, chiamerei il parser direttamente da cron; un job server è più utile quando si ha un insieme di lavori che vengono creati su una base non prevedibile (ad esempio richiesta dell'utente) e devono essere eseguiti in un modo ordinato e limitato dalle risorse. – halfer

+0

@halfer - Non penso che il compito debba necessariamente bloccarsi. Alcune attività in un lavoro possono essere eseguite in modo indipendente per gli esempi in thread separati e possono essere fatte per unirsi l'un l'altro usando il metodo join() per il completamento del lavoro. – nanosoft

risposta

2

Il manuale offers a terrific explanation:

Jobs vs Compiti

Un compito è qualsiasi richiesta o comunicazione tra il client e il server di lavoro . Un'attività è solitamente la comunicazione su un lavoro. Le attività potrebbero essere please run this job o what is the status of this job. Un lavoro è qualcosa che il lavoratore fa, continuamente in attesa sul server di lavoro a dirgli quando iniziare e con quali argomenti. I clienti inviano i lavori e chiedono lo stato dei lavori (entrambe le cose sono considerate attività ). I lavoratori svolgono effettivamente i lavori.

Problemi correlati