Skip to content

[12] Caso de Uso: Fila de Coleta

Elves Rodrigues edited this page May 10, 2023 · 1 revision

Esta seção tem como objetivo descrever a funcionalidade da Fila de Coletas e exemplificar seu uso. Essa ferramenta permite que o sistema gerencie o número de coletores que estão em execução simultânea, o que possibilita que vários deles sejam inicializados pelo usuário, mas que entrem em execução de acordo com os limites dos recursos computacionais disponíveis.

Com essa funcionalidade, o usuário poderá otimizar o gerenciamento dos coletores, evitando a espera desnecessária na execução e maximizando a capacidade de coletar dados do sistema.

Funcionamento

Para maximizar a capacidade de coletar dados do sistema como um todo, existem 3 tipos de filas de execução de coletores:

  • Fila rápida: destinada a coletores que executam em poucas horas;
  • Fila média: destinada a coletores que executam em até um dia;
  • Fila lenta: destinada a coletores que executam em mais de um dia.

O objetivo de utilizar filas diferentes é evitar que as coletas rápidas tenham que aguardar a execução das coletas de execução lenta em uma única fila. Dessa forma, o sistema é capaz de prover mais vazão de coleta, permitindo que coletores diferentes coletem seus dados simultaneamente.

A fila na qual um coletor específico será alocado dependerá da expectativa de tempo de execução definida pelo usuário, a qual é estabelecida manualmente conforme descrito na próxima seção. Quando o coletor é chamado para executar, seja pelo usuário ou pelo Agendador de Coletas, ele aguarda na fila até que todos os coletores à sua frente sejam executados. O sistema também permite que o usuário altere a posição de um coletor na fila, ou até mesmo removê-lo da fila ou forçar sua execução, conforme descrito na seção Usando a Fila de Coletas.

Definindo a fila do coletor

Ao criar ou editar um coletor, o usuário deve informar a expectativa de tempo de execução do mesmo, já que, por enquanto, não é possível inferir automaticamente o tempo de execução de uma coleta. A imagem a seguir destaca opção:

image_expected

A expectativa de tempo de execução do coletor definirá em qual fila ele aguardará execução. Entretanto, é possível mudar a fila do coletor posteriormente em sua respectiva página de edição. No futuro, a expectativa de tempo de execução do coletor e, por conseguinte, sua fila de espera, será definida automaticamente tendo como base no histórico de execução de coletores semelhantes.

Configurando a fila de coletas

Através do botão Configurar escalonador, no canto superior direito da página Fila de coletas, o usuário pode configurar o número máximo de coletores que serão executados simultaneamente para cada fila, como mostra a imagem abaixo:

image

Usando a Fila de Coletas

Quando o usuário determina a execução do coletor, seja pela página de detalhes, via API ou agendamento, o coletor é automaticamente adicionado à sua respectiva fila, onde aguardará sua execução. O sistema só iniciará a execução do coletor quando houver menos coletores simultâneos em execução do que o máximo permitido pela fila do coletor.

A imagem exemplifica a página de gerenciamento das filas de coletas:

image175

No destaque 1, é possível personalizar a exibição dos coletores em execução (listados logo abaixo) de acordo com a fila em que o coletor está alocado. Já o destaque 2 apresenta o tempo de execução do coletor, enquanto o destaque 3 é um botão que permite interromper o coletor facilmente durante a execução.

Por outro lado, o destaque 4 mostra botões para alterar a visualização dos coletores em espera, de acordo com cada tipo de fila. Enquanto isso, o destaque 5 exibe há quanto tempo o coletor está aguardando na fila e o destaque 6 contém botões que permitem alterar a posição do coletor na fila. Já os destaques 7 e 8 são para interromper ou forçar a execução do coletor, respectivamente.

Quando a execução de um coletor é forçada - ou seja, ele executa mesmo sem espaço disponível em sua fila - isso será indicado na listagem de coletores em execução por meio de uma etiqueta de execução forçada, conforme ilustrado na imagem abaixo:

image