2015-06-15 8 views
5

Ich habe eine sehr einfache logische Frage.nodejs Kue Job Verarbeitungslogik

Ich werde Jobverarbeitungslogik auf einem separaten App-Server ausführen.

Meine Job-App wird eine eigenständige App sein, die nichts anderes macht, als nur Jobs zu bearbeiten.

Wie kann ich in meinem Code sicherstellen, dass meine App den Redis-Server ständig auf Jobs prüft? - Muss ich den Code in Endlosschleife ausführen? -oder Muss ich meine App immer wieder neu starten?

oder gibt es einen eingebauten Mechanismus in Kue, den ich hier vermisse?

Dank

+0

Dieser Abschnitt beantwortet Ihre Frage - https://github.com/Automattic/kue#processing-jobs - Sie brauchen nicht Ihre App zu halten Neustart 'Warteschlange .process' wird für jeden Job in der Warteschlange aufgerufen – Alex

+0

Bedeutet dies, dass queue.process die Datenbank nach eingehenden Jobs prüft? – pkpk

+0

oder bedeutet es immer, wenn ein neuer Job zu redis queue.process hinzugefügt wird? – pkpk

Antwort

3

die Dokumentation einsehen - https://github.com/Automattic/kue#processing-jobs

Zwar gibt es eine Warteschlange ist, wird es immer wieder laufen, und Arbeitsplätze pflücken.

Gemäß dem Beispiel:

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(); 
}