# Cases do Exception Handler

Os "**Exception Handlers"** podem ser utilizados para resolver diversas situações usuais. Aqui listamos algumas e suas possíveis soluções.

***

### Too Many Request - Status Code 429 <a href="#too-many-request-status-code-429" id="too-many-request-status-code-429"></a>

Muitas APIs implementam mecanismos de rate-limit que especificam uma quantidade máxima de requisições que podem ser executadas em um determinado período de tempo. Através de um Exception Handler podemos adequar o funcionamento de um fluxo para se manter dentro da taxa definida.

O fluxo abaixo acessa centenas de vezes uma API que está configurada para aceitar no máximo 10 requisições por minuto.

<figure><img src="/files/sfehxdHsaaxAbi5ZNK8W" alt=""><figcaption></figcaption></figure>

Configuramos um "**Exception Handler"** para esse fluxo com as seguintes características:

* Nome: Too Many Requests
* Disponibilidade do Handler: Fluxo

**Exception Rule: 429 Too Many Requests**

* Nome: 429 Error Code
* Retries: 2. A princípio apenas uma re-tentativa seria suficiente mas estabelecemos duas como margem de segurança.
* Seconds: 60. A API em questão libera tokens a cada minuto, portanto aguardamos um minuto inteiro até reiniciarmos as requisições.
* Notificação para syslog e local. É importante podermos auditar e acompanhar quando estamos excedendo as taxas de utilização de uma API
* Mensagem: Too many requests - RETRY

**Default Action**

* Notificação para syslog e local.
* Mensagem: Too many requests - FATAL. Nesse caso podemos identificar que apesar da manipulação de exceção o erro persistiu.
* Ação Final: **Parar**. Essa ação será tomada apenas se a estratégia de aguardar novos tokens falhar, indicando que existe alguma situação não prevista para a geração desse erro.

<figure><img src="/files/8wyxw4YO0mxiG8XkXxtS" alt=""><figcaption></figcaption></figure>

Essa estratégia garante a correta utilização da API se apenas uma execução desse fluxo ocorrer ao mesmo tempo. Para forçar essa situação você pode desabilitar as execuções concorrentes de fluxo conforme ilustrado abaixo.

<figure><img src="/files/82g2iK8SpZryr04ENOQF" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skyone.cloud/skyone-studio/integracoes/fluxos/gestao-dos-fluxos/flow-canva-configuracao-e-edicao-do-fluxo/exception-handler/cases-do-exception-handler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
