orchestrator
2023.10
false
UiPath logo, featuring letters U and I in white
Guia do usuário do Orchestrator
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 17 de out de 2024

Gatilhos de fila

Importante:

Fusos horários do gatilho: o fuso horário definido em um gatilho não é restrito pelo fuso horário do locatário. No entanto, se você usar calendários de dias não úteis, não poderá definir fusos horários diferentes.

Os acionadores de fila são ativados de acordo com o fuso horário definido no nível do acionador. Os acionadores de fila são ativados com base no processamento de itens de fila.

Os gatilhos da fila são desabilitados com base no fuso horário dos gatilhos.

Os gatilhos da fila iniciam instantaneamente um processo ao ser criado um disparo ou sempre que você adicionar um novo item a uma fila. O disparador é executado no ambiente associado ao processo selecionado.

Importante: a implementação de gatilhos de fila é otimizada para consumir processos que possuem um loop interno para processar todos os itens de fila disponíveis antes do término. Se um processo não implementar essa estratégia, a experiência resultante será abaixo do ideal e pode não atender aos requisitos de negócios desejados.

Há três opções que ajudam você a parametrizar as regras para o acionamento de processos:

 

Description

Número mínimo de itens para disparar o primeiro trabalho

O trabalho de processamento de itens é iniciado apenas após a fila de destino ter pelo menos esse número de novos itens.

Os itens da fila adiados não são contados.

Número máximo de trabalhos pendentes e em execução permitidos ao mesmo tempo

O número máximo permitido de trabalhos pendentes e em execução, contados juntos.

Para 2 ou mais trabalhos permitidos simultaneamente, a terceira opção precisa ser definida conforme descrito abaixo.

Outro trabalho é disparado para cada - novo item.

Um novo trabalho é disparado para cada número de novos itens adicionados além do número de itens definidos para a primeira opção.

Habilitado apenas se houver 2 ou mais trabalhos permitidos ao mesmo tempo (definidos usando a opção descrita acima).

Para lidar com itens em fila que não sejam processados no momento que são enfileirados, incluindo itens recriados, uma vez a cada 30 minutos, uma verificação para itens não processados é executada por padrão e se a condição de acionamento for atendida, o gatilho é iniciado mais uma vez.

Você pode usar o parâmetro Queue.ProcessActivationSchedule para ajustar o intervalo de verificação padrão de 30 minutos. Observe que alterar o valor de Queue.ProcessActivationSchedule não afeta imediatamente itens de fila existentes que estão em progresso. As alterações entram em vigor após o gatilho da fila ser atualizado.

Essa verificação garante que todos os itens na fila sejam processados nas seguintes situações:

  • Os itens da fila são adicionados à fila muito mais rápido do que podem ser processados com os recursos disponíveis.
  • Os itens da fila são adicionados a uma fila em dias não úteis, mas só podem ser processados durante o horário comercial.
  • O processamento de itens da fila é adiado para mais tarde. Após esse tempo passar, eles estão prontos para serem processados assim que forem identificados pela verificação de 30 minutos.

    Observação: Devido à verificação padrão de 30 minutos, há um risco de obstrução dos recursos durante o horário não comercial. Para evitar isso, certifique-se de que não haja itens não processados no fim do dia útil. Se isso não for uma possibilidade, certifique-se de que o processo disparado não exija intervenção humana.

Algoritmo de processamento de gatilho de fila

Números usados no algoritmo

  • O número de novos itens de fila disponíveis na fila: N

  • O número mínimo de itens necessários para disparar o primeiro trabalho: x

    • Isso significa que nunca acionaremos um trabalho, a menos que haja pelo menos x novos itens.

  • O número máximo de trabalhos pendentes e em execução permitido simultaneamente: y

    • Isso significa que definimos um limite (y) para quantos trabalhos são permitidos em paralelo.

  • Outro trabalho é acionado para cada __ novos itens: z

    • Isso significa que 1 trabalho é iniciado se x for atingido. Para os N-x itens de fila restantes, tentaremos iniciar (N-x)/z trabalhos. No caso disso ultrapassar y, criamos trabalhos suficientes para chegar a um total de y.

Ao avaliar quantos trabalhos adicionais podem ser criados, levamos em consideração os trabalhos em execução atuais (w). Com base na configuração Gatilhos - Gatilhos de fila - Habilitar estratégia de tarefas pendentes, esse número é processado da seguinte maneira:

  • Verdadeiro - Máximo de trabalhos adicionais a serem criados com base nos itens de fila recém-disponíveis = y menos o número de trabalhos em um estado Pendente.(Essa opção é mais adequada para casos nos quais você deseja que o Orchestrator assuma que todos os trabalhos em execução já alteraram o status Novo dos itens de fila).

  • Falso - Trabalhos adicionais máximos a serem criados com base nos itens de fila recém-disponíveis = y menos o número de trabalhos em um destes estados: Pendente, Retomado, Em execução, Interrompendo, Encerrando. (Essa opção é mais adequada para casos nos quais você quer que o Orchestrator assuma que todos os trabalhos em execução ainda precisam alterar o status Novo dos itens de fila).

Observações importantes

  • Essa avaliação ocorre sempre que um único item de fila é adicionado, inclusive por meio de adição em massa.

  • Para garantir que os itens de fila postergados (adiados) sejam levados em conta, cada gatilho de fila tem um agendamento associado que verifica novamente todo o algoritmo acima. Isso acontece por padrão a cada 30 minutos, mas pode ser reduzido para um mínimo de 10 minutos por meio da configuração do tenant Filas - Frequência de verificação de itens de fila não processados (minutos).

  • Historicamente, destina-se a garantir que um trabalho seja iniciado assim que um limite for atingido e que, quando esse limite for ultrapassado, trabalhos adicionais sejam iniciados para ajudar a processar o aumento acumulado. O objetivo não é a distribuir a carga de trabalho uniformemente entre as máquinas em potencial, mas apenas garantir a presença suficiente de trabalhos.

  • Não há vínculo físico entre os trabalhos iniciados e os itens de fila para os quais foram iniciados, o que significa que o trabalho J não se destina, necessariamente, a gerenciar os itens de fila a, b, c etc.

  • Os resultados do algoritmo diferem dependendo se os itens de fila foram adicionados em massa ou individualmente, pois isso influencia o número de avaliações realizadas.

  • Prazo é útil para ordenar tarefas com prioridades semelhantes, enquanto Adiar garante que uma tarefa não seja iniciada antes do horário especificado. No entanto, os dois parâmetros não são projetados para serem usados juntos.

Exemplo

Cenário 1 - itens de fila adicionados individualmente

Tenho dois trabalhos:

  • Um que adiciona 3 itens por segundo por 20 segundos na fila de destino (60 itens no total).
  • Um que processa 1 item por segundo da fila de destino.

Defini meu gatilho da seguinte maneira:

  • Número mínimo de itens para disparar o primeiro trabalho:31.
  • Número máximo de trabalhos pendentes e em execução permitidos ao mesmo tempo:3.
  • Outro trabalho é disparado para cada 10 novo item.

Inicio o trabalho que adiciona itens à minha fila.

  1. Após 11 segundos (33 itens), o primeiro trabalho de processamento de itens é disparado.
  2. Após mais 4 segundos (12 itens), o segundo trabalho de processamento de itens é disparado.
  3. Após mais 4 segundos (12 itens), o terceiro trabalho de processamento de itens é disparado.

Quando a adição de itens na fila terminar, o primeiro trabalho já terá processado 9 itens, o segundo 5 itens e o terceiro 1 item. Isso significa 15 itens em 20 segundos processados por três trabalhos.

Isso significa que restam 45 itens a serem processados (60 - 15). Com 3 trabalhos, cada um processando 1 item por segundo, isso significa 15 segundos para o restante ser processado, o que leva a um total de 35 segundos.

Cenário 2 - itens de fila adicionados em massa

Se os 60 itens de fila mencionados no cenário acima forem adicionados com uma operação em massa (quando nenhum trabalho estiver em execução ou pendente), 3 trabalhos serão criados.

Se pelo menos um trabalho for concluído antes do cronograma de reavaliação, outros trabalhos serão criados.

Destino de Execução

Você pode configurar várias regras, dependendo de quais processos associados são executados.

Description

 

Conta

O processo é executado sob uma conta específica. Especificar apenas a conta resulta na alocação dinâmica da máquina pelo Orchestrator. Especificar a conta e o modelo de máquina significa que os trabalhos serão iniciados nesse par de conta-máquina.

Máquina

O processo será executado em uma das máquinas do host conectadas ao modelo de máquina selecionado. Especificar apenas o modelo de máquina resulta no Orchestrator alocando a conta dinamicamente. Especificar a conta e o modelo de máquina significa que os trabalhos serão iniciados nesse par de conta-máquina.

Observação: certifique-se de que as licenças de runtime necessárias para executar o trabalho estejam alocadas para o modelo de máquina associado.

Hostname

Hostname

Após selecionar um modelo de máquina, a opção Nome do host é exibida, permitindo selecionar a sessão de estação de trabalho/robô desejada para executar o processo.

Todas as sessões disponíveis na pasta ativa são exibidas: não conectadas, desconectadas ou conectadas.

Observação: certifique-se de que as licenças de runtime necessárias para executar o trabalho estejam alocadas para o modelo de máquina associado.

Gatilho de fila criados usando UiPath Activities

Os gatilhos de fila também podem ser criados por desenvolvedores de RPA em tempo de design no Studio, usando a atividade When New Item Added to Queue do pacote UiPath.Core.Activities .

O Orchestrator identifica esses tipos de acionadores como requisitos de pacote, e a única maneira de adicioná-los ao Orchestrator é na página Requisitos de pacote .

Qualquer configuração definida em tempo de design é refletida no Orchestrator e não pode ser modificada.

Por exemplo: quando um item de fila é adicionado à minha fila, desejo receber seus metadados como uma mensagem de registro. A diferença aqui é que o gatilho de fila instrui a automação a iniciar de dentro do fluxo de trabalho, em oposição aos gatilhos de fila do Orchestrator, que instruem a automação a iniciar de fora do fluxo de trabalho.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.