У меня есть очередь, которая поддерживает задания для пользователей (job.id - идентификатор пользователя) Никакие два задания в очереди не должны иметь одинаковый идентификатор пользователя. У меня есть 2 приложения, одно - отправитель, другое - получатель. После того, как обработка задания завершена, ACK получения получает задание.
В случае, если подтверждение (выполнено ()) не отправлено после этого при получении, когда приемник снова запускается, задание не выбирается.
Отправитель
const Queue = require('bee-queue');
const addQueue = new Queue('addition',{storeJobs: true,removeOnSuccess: true,
removeOnFailure: true});
async function start() {
const job = await addQueue.createJob({x: 2, y: 3})
.setId('Bulk')
.save();
console.log("job.id",job.id)
}
start()
Получатель
const Queue = require('bee-queue');
const addQueue = new Queue('addition',{storeJobs: true,removeOnSuccess: true,
removeOnFailure: true});
function receive() {
addQueue.process(1,function (job,done) => {
let id = job.id //after restart job is not received
console.log(`Processing job ${job.id}`);
//done()
});
}
receive()