- Introdução
- Melhores práticas
- Tenant
- Contexto de Pastas
- Automações
- Processos
- Trabalhos
- Gatilhos
- Logs
- Monitoramento
- Filas
- Ativos
- Armazenar Buckets
- Test Suite - Orchestrator
- Outras configurações
- Integrações
- Robôs Clássicos
- Administração do host
- Sobre o nível do host
- Gerenciamento dos administradores do sistema
- Gerenciando Tenants
- Configurando notificações de e-mail do sistema
- Logs de auditoria para o portal do host
- Modo de Manutenção
- Administração da organização
- Solução de problemas
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.
Permite que você agende um horário recorrente para iniciar um trabalho. Os valores de entrada para processos que suportam parâmetros de entrada e saída também podem ser gerenciados nesse nível. Você pode configurar várias regras, dependendo de quais processos associados são executados.
Todos os Robôs |
Robôs Específicos |
Alocar de forma dinâmica |
---|---|---|
Trabalhos disparados são iniciados em todos os Robôs em um ambiente específico. |
Trabalhos disparados são executados pelos Robôs selecionados pelo usuário. |
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. |
- 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.
Observação: usando a opção Alocar dinamicamente você pode executar um processo até 10.000 vezes em um trabalho.
-
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 executa 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.
Observação: lembre-se de que os trabalhos atribuídos diretamente a robôs específicos têm prioridade sobre os trabalhos alocados dinamicamente. Além disso, se um robô fizer parte de dois ou mais ambientes, os trabalhos serão executados na ordem que foram criados.
Permite acionar um processo sempre que novos itens de fila estiverem disponíveis em suas filas. O gatilho é executado no ambiente associado ao processo selecionado.
Há três opções que ajudam você a parametrizar as regras para o disparo de processos:
Opção |
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). |
Uma vez a cada 30 minutos, é realizada uma verificação de novos itens (itens repetidos incluídos) e, se a condição de acionamento for atendida, o acionador é iniciado novamente. Isso 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 fora do horário 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.
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.
- Após 11 segundos (33 itens), o primeiro trabalho de processamento de itens é disparado.
- Após mais 4 segundos (12 itens), o segundo trabalho de processamento de itens é disparado.
- 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.
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.
Observe que a adição e remoção de dias não úteis são auditadas no nível do tenant.