RunbaseDocumentazione

Command Palette

Search for a command to run...

Limiti di velocità

Limiti delle richieste API e come gestirli.

Runbase applica limiti di velocità per chiave API per garantire un uso equo e la stabilità della piattaforma.

Limiti predefiniti

AmbitoLimite
Chiave API (endpoint runs)20 richieste ogni 10 secondi
Endpoint di autenticazione5 richieste ogni 60 secondi
Controllo sessione60 richieste ogni 60 secondi

Il limite di velocità per gli endpoint runs si applica sia a POST /api/v1/runs sia a GET /api/v1/runs/:id combinati, per chiave API.

Risposta al limite di velocità

Quando superi il limite, l'API restituisce HTTP 429:

{
  "error": {
    "message": "Rate limit exceeded",
    "code": "RATE_LIMITED"
  }
}

Gestione dei limiti di velocità

Implementa un backoff esponenziale quando ricevi una risposta 429:

import time
import requests
 
def create_run(api_key, model, input_data, max_retries=3):
    url = "https://runbase.net/api/v1/runs"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    body = {"model": model, "input": input_data}
 
    for attempt in range(max_retries):
        response = requests.post(url, json=body, headers=headers)
        if response.status_code == 429:
            wait = 2 ** attempt
            time.sleep(wait)
            continue
        return response.json()
 
    raise Exception("Rate limit exceeded after retries")

Suggerimenti

  • Usa chiavi separate per diversi servizi o worker per evitare di condividere un limite di velocità
  • Interroga a intervalli ragionevoli quando controlli lo stato di un run — ogni 1–2 secondi è sufficiente per la maggior parte dei modelli
  • Raggruppa il lavoro invece di inviare molte richieste contemporaneamente
  • Non riprovare immediatamente su 429 — attendi sempre prima di riprovare

Hai bisogno di limiti più alti?

Contatta support@runbase.net se il tuo caso d'uso richiede limiti di velocità più alti.