2015-06-15 7 views
5

Ho una domanda logica molto semplice.nodejs Logica di elaborazione lavori Kue

Sarò in esecuzione la logica di elaborazione del lavoro su un app server separato.

La mia app per l'elaborazione dei lavori sarà un'app standalone, che non fa nulla solo per l'elaborazione dei lavori.

Nel mio codice, come faccio a verificare che la mia app continui a controllare il server redis per i lavori? -Do Devo eseguire il codice in loop infinito? -o Devo continuare a riavviare la mia app

o c'è qualche meccanismo integrato in Kue che mi manca qui?

Grazie

+0

Questa sezione risponde alla tua domanda - https://github.com/Automattic/kue#processing-jobs - non è necessario per mantenere riavviare la vostra applicazione, 'coda .process' viene chiamato per ogni lavoro in coda – Alex

+0

Significa che queue.process continuerà a controllare il database per i lavori in entrata? – pkpk

+0

o significa, ogni volta che un nuovo lavoro viene aggiunto a redis queue.process verrà richiamato? – pkpk

risposta

3

Vedere la documentazione - https://github.com/Automattic/kue#processing-jobs

Mentre v'è una coda, verrà continuamente correre, e pick off di posti di lavoro.

Come per l'esempio:

var kue = require('kue') 
, queue = kue.createQueue(); 

queue.process('email', function(job, done){ 
    email(job.data.to, done); 
}); 

function email(address, done) { 
    if(!isValidEmail(address)) { 
    //done('invalid to address') is possible but discouraged 
    return done(new Error('invalid to address')); 
    } 
    // email send stuff... 
    done(); 
}