2012-04-26 10 views

risposta

29

dipende dal contesto.

Un worker è in genere un processo che viene eseguito al di fuori del ciclo di richiesta dell'applicazione. Le librerie di Ruby come resque e delayed_job vengono in genere utilizzate per gestire le code di lavoro.

D'altra parte, se si parla di server Web, la parola "worker" viene talvolta utilizzata in modo intercambiabile con thread o processi (ad esempio: nginx o "worker" di apache).

+0

nei server Web, sono thread o processi "worker" separati? – Kamilski81

+0

@ Kamilski81 nei server Web e utilizzando le soluzioni descritte qui, questi sarebbero processi separati. Con delayed_job, ad esempio, è possibile eseguire molti diversi processi di lavoro che possono tutti eseguire il successivo task con priorità più alta dal database. A causa di questa architettura molte persone eseguono un processo di monitoraggio aggiuntivo usando qualcosa come God o BluePill. Vedi qui per ulteriori informazioni: https://www.ruby-toolbox.com/categories/server_monitoring – salernost

3

Un server che esegue l'app per rails utilizza gli operatori per fare tutto ciò di cui ha bisogno un'applicazione. Invia email, esegue richieste, esegue calcoli, ecc. Il numero di lavoratori necessari dipende dalla quantità di traffico e calcoli necessari per la tua app web.

7

Spesso nel "mondo Rails" un lavoratore fa riferimento a un sistema di tipo di coda di priorità che ha processi separati che eseguono attività da eseguire al di fuori del ciclo dell'applicazione. Uno dei più popolari di questi sistemi è DelayedJobs. Questo utilizza una migrazione del database per aggiungere una tabella per contenere le attività che devono essere eseguite da un processo di lavoro. È quindi possibile configurare un numero qualsiasi di processi di lavoro che controlleranno la tabella della coda DelayedJobs ed eseguiranno l'attività serializzata. Con DelayedJobs non hai solo la possibilità di impostare la priorità di diverse attività, ma anche un intervallo di tempo per eseguire l'attività, ad es. invia una email particolare 1 ora da ora.

Spero che questo aiuti, /Salernost

Problemi correlati