У меня в тг боте есть очередь, например такая:
agenda.define('processMessage', { concurrency: 1 }, async (task, done) => {
try {
const { contexts } = task.attrs.data;
const message_id = contexts.callbackQuery.message.reply_to_message.message_id;
const id = contexts.callbackQuery.message.reply_to_message.from.id;
await bot.telegram.sendChatAction(id, 'record_audio');
await textToSpeech(contexts.callbackQuery.message.reply_to_message.text, id, message_id);
await convertTo(${__dirname}/tmp/${id}_${message_id}.wav, {__dirname}/tmp/${id}_${message_id}_${username}.out.ogg);
await bot.telegram.sendVoice(id, { source: {__dirname}/tmp/${id}_${message_id}.out.ogg }, { reply_to_message_id: message_id, allow_sending_without_reply: true }).then(() => {
console.log('+');
})
.catch((error) => {
console.error('Eror send qeueu:', error);
});;
} catch (error) {
console.error(error);
}
task.remove();
});
Как сделать так чтоб задача убивалась и удалялась с бд если время на ее исполнение вышло?