API-Ratenbegrenzungen

Hey all,
I’ve come across several (somewhat-old) articles on this forum that outline API rate limits (ex: Global rate limits and throttling in Discourse). I’m interested in this because, during the customization of our site, we’re making several API calls related to users and topics, and I’d like to ensure we keep the calls to a minimum.

Are these settings still configurable via the Admin panel? I haven’t come across anything thus far that relates to the Discourse API rate limits.

If not, is there a way to monitor the request activity somewhere?

Thank you in advance!

2 „Gefällt mir“

These API rate limit settings are not configured via the admin panel, but you will add them to the app.yml file on the server where your discourse site is hosted. So you will have to ssh into your server to make the change if you are self hosted.

3 „Gefällt mir“

@blake vielen Dank für die Antwort! Mein Team wird sich tatsächlich auf Discourse für das Hosting verlassen, daher haben wir keine eigenen Konfigurationsdateien. Gibt es Möglichkeiten, die API-Limits einzusehen oder anzupassen, wenn wir diesen Weg einschlagen?

:+1:

Wenn Sie Enterprise nutzen, können wir einige dieser Limits für Sie anpassen und Ihnen auch Ratschläge zur API geben, damit wir Ihre API-Nutzungslast reduzieren können.

Was wir empfehlen, ist, dass Ihre App, die die API-Aufrufe tätigt, 429-Fehler behandelt und dann den Retry-After-Header prüft, der empfangen wird. Dies teilt Ihnen mit, wann Sie wieder mit der Erstellung von Anfragen beginnen können.

@blake nochmals vielen Dank für die Informationen! Ich denke, mein Team ist mit den aktuellen Standard-Ratenbegrenzungen, wie sie von Discourse definiert werden, höchstwahrscheinlich einverstanden. Können Sie mitteilen, wie diese Begrenzungen lauten? Ich konnte bisher keine definitive Liste finden.

Ja, die Standardlimits sind hier für die Pro-/Business-Pläne aufgeführt.

@blake nochmals vielen Dank für die Informationen! Das hängt damit zusammen, aber wissen Sie, ob es einen Zeitplan gibt, um Serializer-Anpassungen auf Theme-/Komponentenebene hinzuzufügen? Ich habe diese Funktion im Laufe des letzten Jahres hier und da in diesem Forum erwähnt gesehen, aber ich weiß, dass sie noch nicht implementiert wurde.

Ich frage, weil wir derzeit Benutzerdaten pro Thema in der Themenliste abrufen, was sich auf unserer Plattform mit immer mehr Benutzern summieren kann. Das Hinzufügen bestimmter Daten des Benutzermodells zu bestimmten Serializern könnte dazu beitragen, die API-Aufrufe zu reduzieren, die wir derzeit tätigen müssen.

Mir ist keine Zeitachse dafür bekannt.

Ich empfehle jedoch die Verwendung des data-explorer-Plugins für benutzerdefinierte Datenanfragen wie diese. Sie können Ihre eigene benutzerdefinierte SQL-Abfrage erstellen und speichern, sodass sie eine ID erhält. Dann können Sie diese gespeicherte Abfrage über einen API-Aufruf ausführen, und sie wird ausgeführt und gibt das gewünschte JSON in einer einzigen Anfrage zurück.