Pular para o conteúdo principal

Fila de Tarefas

O funcionamento do A-Parser é baseado em uma fila de tarefas - você adiciona tarefas e elas são executadas em ordem, permitindo carregar o scraper com trabalho por um longo tempo sem precisar monitorar quando ele terminará.

Fila de tarefas

Principais vantagens da fila de tarefas no A-Parser

  • Suporte para execução de várias tarefas simultaneamente
  • Pausa e parada total da execução da tarefa
  • Salvamento de resultados intermediários do trabalho das tarefas, o que permite continuar o trabalho a partir do momento em que o scraper foi desligado (ou o computador\servidor foi desligado)
  • Movimentação de tarefas individuais na fila
  • Possibilidade de editar tarefas já criadas, bem como copiar tarefas para reutilização
  • Tarefas concluídas movem-se para a fila de tarefas finalizadas, onde é possível visualizar os resultados de cada tarefa e baixar o resultado

Algoritmo de funcionamento

Algoritmo da fila

Slots de trabalho das tarefas

A quantidade de tarefas em execução simultânea é regulada pelos slots de trabalho, este parâmetro é especificado nas configurações gerais (Settings -> Global Settings -> Max active tasks). Por padrão, o valor é definido como 1, ou seja, uma tarefa em execução por vez, as outras aguardarão sua vez.

Status da tarefa na fila

Cada tarefa possui seu próprio status, aqui está a lista de estados possíveis:

StatusDescrição
waitSlotAguardando um slot livre para execução da tarefa, uma nova tarefa sempre entra na fila com este status
workA tarefa está sendo executada
pausedA tarefa está pausada, enquanto retém o slot de trabalho, não permitindo que as próximas tarefas sejam iniciadas
stoppedA tarefa foi interrompida, liberando o slot de trabalho
completedTarefa concluída - todas as consultas foram processadas, a tarefa move-se para a fila de tarefas finalizadas, o slot de trabalho é liberado

Ao definir o parâmetro Max active tasks (Máximo de tarefas ativas) acima de um, deve-se levar em conta que o número de threads aumentará, assim como o consumo total de recursos pelo scraper.

dica

Para alcançar a velocidade máxima de trabalho, use sempre apenas uma tarefa, com o número ideal de threads selecionado para o computador\servidor específico.