Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

254
Vistas
Kue: mejores prácticas para procesar/sondear continuamente la cola

¿Cuál es la mejor manera de procesar continuamente los elementos agregados a la cola? Veo el siguiente método

 queue.process

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

pero esto se procesará y regresará. Los elementos agregados después de esta llamada obviamente no se procesan.

Pensé en hacer:

 queue.on('job enqueue', function(id, type){ queue.process('email', function (job, done) { console.log('processing one: ' + job.id); done(null); }); });

¿Pero no está seguro si esto activa múltiples métodos de proceso ignorando el estado actual de la cola?

EDITAR:

Creé un controlador para escuchar el tipo de 'correo electrónico', pero solo se llama una vez dado el escenario a continuación. A menos que me esté perdiendo algo, ¿esperaría que el proceso se ejecutara exactamente 10 veces aquí?

 const queue = kue.createQueue(); queue.process('email', function (job, done) { email(job.id, job.data, done); }); var email = function(id, email, done) { console.log('job: %s, sent to: %s number: %s', id, email.to, email.number); done(null, {result: 'OK'}); }; queue .on('job enqueue', function (id, type) { console.log('job %s got queued of type %s with id %s', id, type); }) .on('job complete', function (id, result) { console.log('job complete: ' + id); }); for (var i = 0; i < 10; i++) { queue .create('email', { title: 'welcome email for tj', number: i, to: 'tj@learnboost.com', template: 'welcome-email' }) .removeOnComplete(true) .save(); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Se llamará a la función pasada a queue.process para cada trabajo en cola.

Piense en ello como un controlador de eventos: "escucha" (en este caso) eventos/trabajos de "correo electrónico" , y para cada uno se llamará a la función del controlador. Por lo tanto, es incorrecto que "los elementos agregados después de esta llamada obviamente no se procesen" .

Según el manual fino , "de forma predeterminada, una llamada a queue.process() solo aceptará un trabajo a la vez para su procesamiento" , pero puede aumentar la concurrencia:

 queue.process('email', 20, function(job, done){ // ... });

Un código de ejemplo que muestra que se llama al controlador para cada nuevo trabajo:

 const kue = require('kue'); const queue = kue.createQueue(); queue.process('email', function(job, done){ console.log('got job', job.data); done(); }); setInterval(() => { queue.create('email', { timestamp : new Date() }).save(); }, 1000);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda