Skip to main content

Retries Automáticos

O SDK implementa retry automático para certos tipos de erros. Por padrão, o SDK tenta novamente 2 vezes com backoff exponencial curto para:
  • Erros de conexão (problemas de rede)
  • 408 Request Timeout
  • 409 Conflict
  • 429 Rate Limit
  • Erros >= 500 (Internal Server Error)

Configurando Retries

Você pode configurar o número de retries:
// Configurar o padrão para todas as requisições
const client = new Triglit({
  apiKey: 'pk_...',
  maxRetries: 0, // Desabilitar retries (padrão é 2)
});

// Ou configurar por requisição
await client.triggers.create(
  { config: {}, name: 'x', type: 'event', workflowVersionId: 'x' },
  { maxRetries: 5 } // 5 tentativas para esta requisição
);

Timeouts

As requisições têm timeout de 1 minuto por padrão. Você pode configurar isso:
// Configurar o padrão para todas as requisições
const client = new Triglit({
  apiKey: 'pk_...',
  timeout: 20 * 1000, // 20 segundos (padrão é 1 minuto)
});

// Ou configurar por requisição
await client.triggers.create(
  { config: {}, name: 'x', type: 'event', workflowVersionId: 'x' },
  { timeout: 5 * 1000 } // 5 segundos para esta requisição
);
Quando ocorre timeout, um APIConnectionTimeoutError é lançado. Requisições que dão timeout são automaticamente tentadas novamente (conforme configuração de retries).

Rate Limiting

A API do Triglit implementa rate limiting. Quando o limite é excedido, o SDK lança um RateLimitError (429), que é automaticamente retentado conforme a configuração de retries.

Limites de Rate Limit

  • Chave Pública (pk_): 100 requisições por minuto
  • Chave Secreta (sk_): 1000 requisições por minuto
Para operações críticas, considere aumentar o número de retries. Para operações que devem falhar rapidamente, desabilite os retries ou reduza o timeout.