Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

259
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda