Orchestrator
2022.4
falso
Imagem de fundo do banner
Guia do usuário do Orchestrator
Última atualização 19 de abril de 2024

Sobre gatilhos

Os gatilhos permitem executar trabalhos de forma pré-planejada, em intervalos regulares (gatilhos de tempo) ou sempre que novos itens forem adicionados às filas (gatilhos de fila). A página Gatilhos permite que você crie novos gatilhos, gerencie os existentes, e também inicie um trabalho instantaneamente para qualquer gatilho existente.

Importante:

Fusos horários de 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 tempo são lançados 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 acionadores de tempo e fila são desabilitados com base no fuso horário do acionador.

Importante:

Desativação do gatilho:

Por padrão, um gatilho é desabilitado automaticamente após 10 lançamentos falhos se não tiver sido lançado com sucesso no último dia.

Esse valor pode ser personalizado usando o parâmetro Triggers.DisableWhenFailedCount.

Gatilhos de tempo

Permite que você agende um horário recorrente para iniciar um trabalho.

Depois de adicionar um acionador de tempo para um processo, você pode esperar o seguinte:

  1. O acionador cria um trabalho no horário agendado, com as opções de alocação, conta e máquina de sua escolha. Isso não equivale à execução real do trabalho.
  2. O trabalho criado na etapa 1 é executado quando um robô fica disponível. Por padrão, se o gatilho já tiver um trabalho pendente, nenhum novo trabalho será criado até que o primeiro seja executado.

Os valores de entrada para processos que suportam parâmetros de entrada e saída também podem ser gerenciados nesse nível.

Destino de Execução

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

 

Description

Alocação Dinâmica

Alocar de forma dinâmica

Defina quantas vezes um processo deve ser executado de acordo com o gatilho fornecido. Esta opção permite que você use seus recursos ao máximo. Após um Robô ficar Disponível, ele executa o processo indicado de acordo com o gatilho fornecido.

 

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

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: apenas runtimes não assistidos podem ser usados para configurar o mapeamento. Certifique-se de que as licenças de runtime necessárias para executar o trabalho estejam alocadas para o modelo de máquina associado.

Selecionar Mapeamentos de conta-máquina válidos

O processo pode ser executado em vários pares específicos de conta-máquina.

Observação:
  • Um aviso é exibido ao selecionar um nome de host que não esteja ativo (por exemplo, com o status Não responsivo ou Desconectado).

  • As contas que fazem parte dos mapeamentos usados em gatilhos não podem ser excluídas ou ter sua atribuição cancelada da pasta em que o gatilho reside. Certifique-se de que a conta não esteja definida como um destino de execução em um gatilho para que você possa excluí-las.

Observação: um aviso é exibido ao selecionar um nome de host que não esteja ativo (por exemplo, com o status Não responsivo ou Desconectado). Os trabalhos programados para serem executados pela sessão inativa permanecem em um estado Pendente até a conexão correspondente com o Orchestrator ser feita.
  • Para reconhecer sua seleção do nome de host inativo, clique em Confirmar.

  • Para voltar e selecionar outro nome de host, clique em Cancelar.

Configurar o mesmo gatilho com o mesmo mapeamento de conta-máquina, mas com a seleção de nome de host adicional, dobra o número de trabalhos a serem executados.
  • Por exemplo, suponhamos que você tenha configurado um gatilho T1 com a conta A1 mapeada para o modelo de máquina MT1. Dez trabalhos são enfileirados nessa configuração.

    Mais tarde, você configura o mesmo gatilho T1 com a conta A1 mapeada para o modelo de máquina MT1, mas agora também seleciona o nome de host H1. Os mesmos dez trabalhos são enfileirados novamente para esse caso, já que o Orchestrator interpreta a configuração como nova.

Observação: Se a conexão com o banco de dados do SQL for perdida por qualquer motivo, os gatinhos que são supostos a estar desativados naquele momento falham, e um alerta com o nível Error é gerado.

Cenários de trabalhos em fila

  1. Se você definir vários gatilhos no mesmo Robô e o horário de execução deles se sobreporem pelo menos uma vez, os trabalhos serão enfileirados, em um estado pendente. O Robô executa os trabalhos enfileirados em ordem cronológica.
  2. Se o mesmo processo estiver agendado no mesmo Robô várias vezes e seu horário de execução se sobreporem, apenas um processo será enfileirado, em um estado pendente. Por exemplo, se o processo A no Robô X estiver agendado para ser executado às 11:20, 11:21 e 11:25, o comportamento será o seguinte:

    • às 11h20, o primeiro processo é executado.
    • Se a primeira execução termina antes do segundo gatilho:

      • O segundo gatilho é processado.

        • Se essa execução termina antes do gatilho de 11:25, este último também será executado.
        • Se a execução do gatilho de 11:21 não termina antes do de 11:25, este último é adicionado a uma fila, em um estado pendente.
    • Se a execução NÃO termina antes do segundo gatilho:
      • O gatilho de 11:21 é colocado em uma fila, em um estado pendente.

        • Se a execução do gatilho de 11:21 termina antes do de 11:25, este último também é executado.
        • Se a execução do gatilho de 11:21 inicia e não termina antes do de 11:25, este último gatilho é colocado em uma fila, em um estado pendente.
        • Se o gatilho de 11:21 ainda estiver pendente quando o de 11:25 deve iniciar, este último não é executado nem adicionado a uma fila e a seguinte mensagem é exibida: Os Robôs já têm trabalhos pendentes para este processo.
  3. Se você quiser executar um processo várias vezes em quaisquer Robôs que estejam disponíveis, você terá a possibilidade de fazer exatamente isso usando a opção Alocar dinamicamente na guia Executar destino. Os trabalhos são enfileirados, em um estado pendente, no ambiente correspondente e cada vez que um Robô fica disponível, o primeiro trabalho na linha é executado. Desta forma, um Robô nunca fica disponível enquanto há trabalhos pendentes.

    Digamos que você deseja executar um processo 7 vezes. No momento em que seu gatilho é disparado, 7 trabalhos pendentes são adicionados à carga de trabalho do ambiente, sem que sejam atribuídos a Robôs específicos. Há alguns cenários possíveis:

    • Há pelo menos sete Robôs disponíveis na hora do disparo - Um trabalho é atribuído a um Robô, para que todos os trabalhos sejam executados de uma vez.
    • Há menos do que sete Robôs disponíveis na hora do disparo, digamos quatro - É atribuído um trabalho para cada um dos quatro Robôs, se um novo Robô ou um desses quatro ficar disponível, ele assume outro trabalho dos três restantes. Isso acontece para cada Robô disponível até não haver mais trabalhos.
  4. Se dois ou mais gatilhos estiverem executando o mesmo processo, cada um para um número diferente de vezes, no próximo gatilho, o número máximo de trabalhos entre eles é adicionado à carga de trabalho do ambiente; eles não se acumulam. Imagine a seguinte situação: o gatilho A executa um processo 13 vezes e o gatilho B o executa 20 vezes. Os seguintes cenários podem ocorrer:

    • Um gatilho A e B simultaneamente – 20 trabalhos (o máximo entre 13 e 20) serão enfileirados na carga de trabalho do ambiente.
    • O B é disparado primeiro – 20 trabalhos serão enfileirados.

      • Se entre a hora do gatilho B e a do gatilho A, sete ou mais trabalhos tiverem sido executados, digamos que nove (11 trabalhos pendentes restantes), então 13 trabalhos (o máximo entre 11 e 13) serão enfileirados na carga de trabalho do ambiente.
      • Se entre a hora do gatilho B e a do gatilho A, menos do que sete trabalhos tiverem sido executados, digamos cinco (15 trabalhos pendentes restantes), então nenhum trabalho será enfileirado pois já existem mais do que 13 trabalhos pendentes. Além disso, a seguinte mensagem será exibida: Os robôs já têm trabalhos pendentes para esse processo.
    • O A é disparado primeiro - 13 trabalhos serão enfileirados

      • Sempre que B disparar durante a execução de A, uma quantidade de até 20 trabalhos será adicionada ao ambiente, dependendo de quantos trabalhos de A estiverem em progresso ou sendo executados. Digamos que seis trabalhos foram executados. Quando B disparar, 14 trabalhos serão adicionados, para que o máximo de 20 seja atingido.
  5. Se um gatilho executar o mesmo processo várias vezes, os trabalhos enfileirados relacionados serão limitados ao número de execuções especificadas quando você definiu o gatilho, na guia Executar destino. Eles não se acumulam com cada disparo do gatilho.

    Digamos que, a cada 30 minutos, você deseja executar o mesmo processo 10 vezes. A primeira vez que seu gatilho for disparado, 10 trabalhos serão enfileirados. Se, entre disparos, menos que 10 trabalhos forem executados (digamos, 4), no momento do próximo gatilho, apenas 6 novos trabalhos serão enfileirados, já que o número de trabalhos pendentes para esse processo pode ser de no máximo 10.

Gatilhos de fila

Pode iniciar instantaneamente um processo após a criação do gatilho ou sempre que você adicionar um novo item à sua 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. 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.
    Observação: note que você pode usar o parâmetro Queue.ProcessActivationSchedule para ajustar o intervalo de verificação padrão de 30 minutos.

Exemplo

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 que são necessários 15 segundos para que o restante seja processado.

Um total de 35 segundos.

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.

Estratégias de contagem de trabalhos

O parâmetro Triggers.JobsCountStrategy permite que você escolha a estratégia para iniciar trabalhos por meio de gatilhos. As seguintes opções estão disponíveis:

  • PerProcess - Um gatilho inicia o número necessário de trabalhos, levando em consideração quaisquer trabalhos pendentes para o processo especificado. Por exemplo, dois gatilhos definidos para o mesmo processo iniciam três e cinco trabalhos, respectivamente. Se o primeiro gatilho iniciar três trabalhos em um determinado momento, quando o segundo gatilho for acionado, dois trabalhos serão iniciados para atingir os cinco trabalhos necessários.
  • PerTrigger - Um gatilho inicia o número necessário de trabalhos, levando em consideração quaisquer trabalhos existentes iniciados anteriormente pelo mesmo gatilho. Por exemplo, um gatilho é definido para iniciar nove trabalhos em um determinado momento. Se dois trabalhos tiverem sido concluídos com sucesso no momento em que esse gatilho for acionado novamente, o Orchestrator iniciará outros dois trabalhos, para atingir os nove trabalhos necessários.
  • NoLimit - O gatilho inicia o número necessário de trabalhos, independentemente de quaisquer trabalhos existentes pendentes. Por exemplo, um gatilho é definido para iniciar cinco trabalhos em um determinado momento. Na segunda vez em que o gatilho for acionado, outros cinco trabalhos serão iniciados.

Dias Não Úteis

Isso permite que você defina várias listas de dias não úteis, por tenant, tendo cada um seu próprio conjunto de datas, nas quais você pode configurar seus gatilhos para não serem executados, se necessário. Isso significa que, durante feriados, fins de semana ou qualquer outro dia em que atividades de negócios normais não são realizadas, seus gatilhos de longa execução podem ser configurados para que não sejam iniciados. Você pode definir ou carregar esses calendários na guia Dias não úteis, na página Configurações. Um calendário BankHoliday é criado por padrão para ajudar a definir seus primeiros dias não úteis mais facilmente. Após o término dos dias não úteis definidos no calendário selecionado, o gatilho dispara como de costume.

Para aplicar qualquer uma dessas restrições em seus gatilhos, é necessário selecionar o calendário desejado no menu suspenso Restrições de dias não úteis ao criar um novo gatilho ou editar um existente. Você pode selecionar apenas um calendário para um gatilho. Observe que editar um calendário na guia Dias não úteis também afeta gatilhos que já têm esse calendário selecionado no menu suspenso Restrições de dias não úteis.

Observação: ao usar dias não úteis, o fuso horário do gatilho deve ser igual ao fuso horário do tenant (Tenant > Configurações > Geral), porque restrições do calendário não podem ser aplicadas a diferentes fusos horários. Um tenant sem um fuso horário explicitamente definido o herdará do host.

Observe que a adição e remoção de dias não úteis são auditadas no nível do tenant.

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.