2012-06-23 13 views
7

Sto sviluppando il server di backend per un gioco basato su turni utilizzando App Harbor e finora sembra perfettamente adatto alle mie esigenze. Mi piacerebbe davvero eseguire un processo in background per elaborare i dati di svolta ecc. E mi chiedevo se qualcuno potesse chiarire qual è la differenza tra "lavoratori Web" e "lavoratori in background"? Ho una conoscenza abbastanza limitata dello sviluppo web, ma per quanto posso dire che i "lavoratori Web" sono per interagire con le pagine AJAX (di cui non ho bisogno) e "Background worker" consentono di eseguire un'applicazione console in background (di cui ho bisogno!)Qual è la differenza tra "Operatori Web" e "Lavoratori in background" su App Harbor

Grazie!

risposta

5

Web worker è collegato con la richiesta dal browser e può ottenere e inviare dati alla richiesta sul browser.

Background Workers sono thread indipendenti che non sono connessi a nessuna richiesta e non possono inviare dati al solo browser *.

[*] Solo tramite un web worker.

4

In generale "Web worker" è l'applicazione Web o il sito/servizio ASP.NET che gestisce le richieste dell'utente. 'Background worker' è semplicemente un'attività pianificata. Funziona in background, su intervalli specificati ed esegue del codice.

La differenza è che un operatore Web lavora un po 'quando una nuova richiesta arriva all'applicazione. Una richiesta indica che qualcuno carica una pagina/chiama un servizio Web su ASP.NET. Mentre il worker in background viene avviato in un intervallo e non è necessario che un utente carichi una pagina per essere eseguita. Viene principalmente utilizzato per l'elaborazione di attività di lunga durata. Il solito flusso di lavoro è: il web worker riceve una richiesta dall'utente e mette in coda alcuni dati da elaborare. Alla prossima esecuzione, l'operatore in background ottiene i dati e li elabora, e memorizza i dati da qualche parte (di solito nel database). Quindi il web worker, alla successiva richiesta da parte dell'utente, controlla il database e se il risultato è lì - lo mostra all'utente.

In questo modo l'utente non deve attendere che la pagina asp.net elabori i dati e restituisca immediatamente un risultato.

Problemi correlati