-
Notifications
You must be signed in to change notification settings - Fork 9
[12] Caso de Uso: Fila de Coleta
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.
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.
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:
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.
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:
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:
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: