Política de repetição

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Repita automaticamente as solicitações com falha quando uma etapa encontrar um problema intermitente, como falha de rede ou limite de taxa de solicitação. Defina uma política de nova tentativa para evitar a necessidade de acionar manualmente a etapa.

    Recursos

    As políticas de repetição podem ser:
    • Criado para oferecer suporte a tempos limites de conexão ou solicitações com falha com base no cabeçalho, status, corpo da resposta, erro e método HTTP.
    • Aplicado a todas as ações que usam um determinado alias de conexão.
    • Aplicado diretamente a uma etapa de ação.
    Use políticas de nova tentativa para definir:
    • As condições que devem ser atendidas para tentar novamente uma etapa.
    • O intervalo de tempo de espera antes de tentar novamente uma etapa.
    • O número máximo de novas tentativas que a etapa faz antes de parar.
    Associe uma política de nova tentativa padrão a um alias de conexão e credenciais e aplique a política de nova tentativa a todas as conexões HTTP.
    Nota:
    Você só pode criar políticas de nova tentativa para etapas JDBC, REST e SOAP.

    Criar uma política de nova tentativa

    Repita automaticamente as solicitações com falha quando uma etapa encontrar um problema intermitente, como falha de rede ou limite de taxa de solicitação. Defina uma política de nova tentativa para evitar a necessidade de acionar manualmente a etapa.

    Antes de Iniciar

    • Função necessária: connection_admin ou credential_admin

    Procedimento

    1. Navegar até Todos > IntegrationHub > Tentar Política Novamente > Criar novo(a).
    2. No formulário, preencha os campos.
      Tabela 1. Formulário Política de repetição
      Campo Descrição
      Nome Nome para identificar exclusivamente a política de nova tentativa.
      Tipo de conexão HTTP
      Condição Condições que devem ser atendidas para acionar a política de novas tentativas. As condições que acionam uma política de nova tentativa incluem os operadores é, não é, contéme não contém.
      Tentar Estratégia Novamente
      • Backoff exponencial: opção para aumentar exponencialmente o intervalo de tempo para as novas tentativas subsequentes. O multiplicador é 2.
      • Intervalo fixo: opção para especificar um intervalo de tempo fixo após o qual uma nova tentativa deve ser feita.
      • Respeitar cabeçalho "Retry-After": opção para especificar uma nova tentativa com base no valor de data e hora retornado no valor do cabeçalho Repetir após da solicitação HTTP. Para obter mais informações sobre o cabeçalho, consulte RFC 7231, seção 7.1.3: Retry-After.
        Nota:
        Respeitar o cabeçalho "Retry-After" é compatível somente com as etapas REST e SOAP.
      Intervalos (segundos) Intervalo de tempo em segundos após o qual uma nova tentativa deve ser feita. Este campo se aplica somente às estratégias de espera exponencial e de repetição de intervalo fixo.
      Nota:
      Se a Estratégia de Nova Tentativa for Backoff Exponencial, o intervalo de tempo aumentará exponencialmente após cada nova tentativa até que o número máximo de tentativas seja atingido.
      Contagem Número máximo de novas tentativas. Este campo se aplica somente às estratégias de espera exponencial e de repetição de intervalo fixo. Se nenhum valor for especificado, o número máximo de novas tentativas será baseado no valor fornecido na propriedade do sistema glide.fdih.retry.max_count. O valor padrão da propriedade do sistema glide.fdih.retry.max_count é 0. Para obter mais informações sobre as propriedades do sistema, consulte Propriedades do sistema disponíveis.
      Tempo máximo decorrido (segundos) Tempo cumulativo máximo em segundos após o qual as novas tentativas são interrompidas. Este campo aparece somente quando Respeitar cabeçalho "Retry-After" é selecionado em Estratégiade nova tentativa.
      Nota:
      Se o tempo máximo de nova tentativa for especificado na propriedade glide.fdih.retry.max_time_in_seconds, o valor da propriedade do sistema terá precedência sobre o valor deste campo. Além disso, certifique-se de que o tempo máximo decorrido seja igual ou maior que o valor da propriedade do sistema.
    3. Opcional: Crie uma propriedade do sistema global com os seguintes atributos.
      Para obter mais informações sobre como criar uma propriedade, consulte Adição de uma propriedade do sistema. Você pode usar esta propriedade do sistema para especificar o tempo máximo em segundos para uma política de nova tentativa.
      Campo Valor
      Nome glide.fdih.retry.max_time_in_seconds
      Tipo inteiro
      Valor Valor padrão: 86400 (segundos) Tempo máximo suportado: 604800 (segundos)
    4. Clique em Enviar.

    Política de repetição com estratégia de nova tentativa como espera exponencial

    Figura 1. Amostra de política de nova tentativa
    Amostra de política de nova tentativa quando a estratégia de nova tentativa for espera exponencial
    Neste exemplo, a política é definida para tentar uma nova tentativa quando uma destas condições for atendida:
    • O método HTTP é GET e o erro é tempo limite de conexão
    • O método HTTP é GET e o código de status é 429
    Quando a condição é atendida, são feitas novas tentativas por um número máximo de três vezes. O intervalo de tempo entre as novas tentativas é aumentado exponencialmente. Os intervalos de tempo neste exemplo são 10 segundos, 20 segundos e 40 segundos.

    O que Fazer Depois

    • Crie um alias de conexão e credencialse você não tiver o alias necessário.
    • Atribua a política de nova tentativa como política de nova tentativa padrão ao alias de conexão e credencial necessário.
      Nota:
      Uma política de repetição padrão é fornecida e selecionada como Política de repetição padrão. Se você tiver criado políticas de repetição, poderá selecionar a política necessária como Política de repetição padrão.
    • Crie uma conexão HTTP(s) na lista relacionada Conexões para o alias de conexão e credencial. Para obter mais informações, consulte Conexões e credenciais.
    • Verifique e exiba os detalhes das novas tentativas navegando até Logs do sistema > Solicitações de saída de HTTP.