Queue

Um serviço de fila para executar tarefas em segundo plano ou programá-las para serem executadas em um determinado momento.

Disponíveis:

  • Bee

  • Bull

  • Kue

  • Fake

Trabalhos:

A estrutura é simples, deve ser uma classe com um método estático key para recuperar sua chave e um método público handle para executar a tarefa. Todos os outros recursos POO para distribuir a lógica são permitidos.

export class Example {
  public static get key(): Capitalize<string> {
    return 'Example';
  }

  public async handle({ data }: { data: { message: string } }): Promise<void> {
    return console.log(`Eu tenho uma mensagem para você: ${data.message}`);
  }
}

Métodos:

Execute: Executa uma tarefa em segundo plano, caso falhe repete uma determinada quantidade de vezes.

await this.queueProvider.execute<{ message: string }>(
  Example.key,
  {
    message: 'Essa é a mensagem',
  },
  3,
);

Schedule: Agenda uma tarefa em segundo plano, caso falhe repete uma determinada quantidade de vezes.

await this.queueProvider.schedule<{ message: string }>(
  Example.key,
  {
    message: 'Essa é a mensagem',
  },
  '30min',
  3,
);

Last updated