Limiti di frequenza API

Ciao a tutti,
ho trovato diversi articoli (alquanto vecchi) su questo forum che descrivono i limiti di frequenza delle chiamate API (ad esempio: Available settings for global rate limits and throttling). Mi interesso a questo argomento perché, durante la personalizzazione del nostro sito, stiamo effettuando diverse chiamate API relative a utenti e argomenti, e vorrei assicurarmi di mantenere al minimo il numero di chiamate.

Queste impostazioni sono ancora configurabili tramite il pannello di amministrazione? Finora non ho trovato nulla che riguardi i limiti di frequenza delle chiamate API di Discourse.

In caso contrario, esiste un modo per monitorare l’attività delle richieste da qualche parte?

Grazie in anticipo!

2 Mi Piace

Queste impostazioni per i limiti di frequenza dell’API non vengono configurate tramite il pannello di amministrazione, ma vanno aggiunte al file app.yml sul server dove è ospitato il tuo sito Discourse. Quindi, se sei in self-hosting, dovrai accedere al tuo server via SSH per apportare la modifica.

3 Mi Piace

@blake grazie per la risposta! Il mio team si affiderà a Discourse per l’hosting, quindi non abbiamo file di configurazione. Ci sono modi per visualizzare o modificare i limiti dell’API se questa è la strada che intraprendiamo?

:+1:

Se sei su enterprise possiamo modificare alcuni di questi limiti per te, oltre a fornire una guida API in modo da poter ridurre il carico di utilizzo della tua API.

Quello che consigliamo è di far gestire alla tua app che effettua le chiamate API gli errori 429 e quindi controllare l’intestazione Retry-After che viene ricevuta e questo ti farà sapere quando potrai ricominciare a effettuare richieste.

@blake grazie ancora per le informazioni! Penso che il mio team sia più che soddisfatto dei limiti di frequenza standard attuali definiti da Discourse. Puoi condividere quali sono questi limiti? Finora non sono riuscito a trovare un elenco definitivo.

Sì, i limiti predefiniti sono elencati qui per i piani pro/business.

@blake ancora, grazie per le informazioni! Questo è in qualche modo correlato, ma sai se c’è una tempistica per aggiungere personalizzazioni del serializzatore a livello di temi/componenti? Ho visto quella funzionalità menzionata in questo forum qua e là nell’ultimo anno, ma so che non è stata ancora implementata.

Chiedo perché attualmente stiamo recuperando i dati dell’utente su base per-argomento nell’elenco degli argomenti, il che può sommarsi una volta che la nostra piattaforma avrà sempre più utenti. L’aggiunta di determinati pezzi di dati del modello utente a determinati serializzatori potrebbe aiutare a ridurre le chiamate API che stiamo attualmente effettuando.

Non sono a conoscenza di una tempistica per questo.

Tuttavia, consiglio di utilizzare il plugin data-explorer per richieste di dati personalizzate come questa. È possibile creare una propria query SQL personalizzata e salvarla in modo che ottenga un ID. Quindi è possibile effettuare una chiamata API a tale query salvata ed essa verrà eseguita e restituirà il JSON desiderato in un’unica richiesta.