Estoy usando express y quiero crear un trabajo cada vez que alguien publique en mi ruta. Me gustaría que la respuesta contuviera el job.id. Sin embargo, la identificación del trabajo solo se completa en la devolución de llamada de mi queue.createFunction, por lo que no estoy muy seguro de cómo devolver la identificación del trabajo. Una solución que se me ocurre es emitir una solicitud de publicación en mi ruta para crear un trabajo, ya que su API devuelve una identificación como respuesta, pero esto parece ineficiente.
No 100% si esto responde a su pregunta, pero he usado lo siguiente para crear un trabajo en una solicitud POST antes:
const queue = kue.createQueue({ redis: { port: conf.redis_port, host: conf.redis_host, }, }) app.post('endpoint', function(req, res, next) { let job = queue.create('some_action', req.data) // ... add job listeners etc. job.save(function(err) { if (err) { return res.send({ error: err }) } else { return res.send({ id: job.id }) } }) })
¡Espero eso ayude! :)