- Introdução
- Melhores práticas
- Tenant
- Ações
- Contexto de Pastas
- Automações
- Processos
- Trabalhos
- Gatilhos
- Logs
- Monitoramento
- Filas
- Ativos
- Armazenar Buckets
- Test Suite - Orchestrator
- Catálogos de Ações
- Perfil
- Administrador do Sistema
- Servidor de Identidade
- Autenticação
- Outras configurações
- Integrações
- Robôs Clássicos
- Solução de problemas
Cenários de trabalhos em fila
- 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.
-
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.
-
-
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.
-
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.
-
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.