iacon-mb
v0.0.7
Published
Gerenciador de fila de tarefas
Downloads
5
Readme
iacon-mb
Gerenciador de fila de tarefas
Como instalar:
npm i iacon-mb
Como importar
const mb = require('iacon-mb');
Como adicionar tarefas na fila
await project.add('fila_teste', { message: "Olá SubHeaven 1" });
await project.add('fila_teste', { message: "Olá SubHeaven 2" });
await project.add('fila_teste', { message: "Olá SubHeaven 3" });
Como processar uma tarefa
Ao processar uma tarefa, devemos passar para o iacon-mb uma função que tratará o payload armazenado na fila
let log = await project.process('fila_teste', async (payload, task) => {
console.log(`Processando a tarefa: ${task._id}`);
Outros comandos...
console.log("Tarefa processada");
}, debug=true);
console.log("##################################################################################");
console.log("### LOG ###");
console.log("##################################################################################");
let lines = log.split("\n");
await lines.forEachAsync(async line => {
console.log(`### ${line}`);
});
console.log("##################################################################################");
Se ocorrer algum erro durante o processamento da tarefa, o iacon-mb adiciona o log com o erro no historico e retorna a tarefa pra fila
let log = await project.process('fila_teste', async (payload, task) => {
console.log(`Processando a tarefa: ${task._id}`);
task.oioioi(); // <-- Linha que vai gerar uma exceção
console.log("Tarefa processada");
}, debug=true);
console.log("##################################################################################");
console.log("### LOG ###");
console.log("##################################################################################");
let lines = log.split("\n");
await lines.forEachAsync(async line => {
console.log(`### ${line}`);
});
console.log("##################################################################################");
Outras funções úteis
Listar todas as tarefas
let tasks = await project.list('fila_teste');
console.log(tasks);
Ao executar uma tarefa com sucesso o iacon-mb exclui a tarefa da lista de pendentes e move os dados da tarefa pra uma lista de tarefas finalizadas que possui sufixo _hist:
Listar tarefas já executadas
let tasks = await project.list('fila_teste_hist');
console.log(tasks);