> For the complete documentation index, see [llms.txt](https://docs.skail.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skail.dev/aprender/garantias/limites-e-cotas.md).

# Limites e cotas

O que tem limite em uma execução, por que o limite existe e o que fazer quando ele aperta. Os valores em vigor são informados pela equipe do skail.

## Por execução

| Dimensão                                                         | Por que existe                                                                                                                          | O que fazer                                                                                                                                                                                  |
| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Tamanho dos argumentos e resultados (trigger, commands, eventos) | Fazem parte do histórico da execução e são lidos a cada retomada; valores grandes deixam a retomada lenta e a linha do tempo pesada     | Passe ids e valores de decisão; carregue o resto dentro do command. Ver [Como passar dados entre função e commands](/construir/escrever-fluxos/como-passar-dados-entre-funcao-e-commands.md) |
| Quantidade de passos por execução                                | A retomada reexecuta a function sobre o histórico inteiro; históricos muito longos degradam a retomada. Laços sem fim são o caso típico | Divida em functions filhas ou reinicie por trigger a cada ciclo. Ver [Antipadrões](/construir/padroes-e-antipadroes/antipadroes-o-que-nao-fazer-e-por-que.md)                                |
| Esperas longas (`Delay`, `WaitForEvent`)                         | Esperas de dias são suportadas e não ocupam a sua aplicação enquanto duram                                                              | Toda espera com prazo: `WhenAny` com `Delay`. Ver [Como esperar com timeout](/construir/escrever-fluxos/como-esperar-com-timeout.md)                                                         |
| Reentregas por passo                                             | `retryCount` do atributo: 5 em command, 15 em function, por padrão                                                                      | Falha de negócio como resultado, não exceção; chave de idempotência nas chamadas externas                                                                                                    |

## Por workload e environment

| Dimensão                              | Por que existe                                                                                               | O que fazer                                                                                                                                        |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Execuções em andamento ao mesmo tempo | Cada instância da sua aplicação trata um número limitado de execuções por vez; o restante aguarda em Na fila | Escale com réplicas. Ver [Como hospedar](/construir/configurar-e-hospedar/como-hospedar-worker-service-asp.net-core-container-kubernetes-azure.md) |
| Chamadas à API HTTP (trigger e fire)  | Proteção da API                                                                                              | Retry com backoff no chamador                                                                                                                      |

## Próximos passos

[Garantias de execução](/aprender/garantias/garantias-de-execucao.md) para o que está prometido dentro desses limites. [Monitoramento e alertas](/operar/monitoramento-e-alertas.md) para acompanhar quando um limite aperta.
