API-Ratenbegrenzungen

Hallo zusammen,
ich bin auf mehrere (etwas ältere) Artikel in diesem Forum gestoßen, die API-Ratenlimits beschreiben (z. B. Available settings for global rate limits and throttling). Das interessiert mich, weil wir bei der Anpassung unserer Seite mehrere API-Aufrufe im Zusammenhang mit Benutzern und Themen tätigen und sicherstellen möchten, dass wir die Anzahl der Aufrufe so gering wie möglich halten.

Sind diese Einstellungen weiterhin über das Admin-Panel konfigurierbar? Bisher habe ich nichts gefunden, das sich auf die API-Ratenlimits von Discourse bezieht.

Falls nicht, gibt es eine Möglichkeit, die Anfrageaktivität irgendwo zu überwachen?

Vielen Dank im Voraus!

2 „Gefällt mir“

Diese API-Ratenbegrenzungseinstellungen werden nicht über das Admin-Panel konfiguriert, sondern müssen in der Datei app.yml auf dem Server hinzugefügt werden, auf dem Ihre Discourse-Seite gehostet wird. Wenn Sie die Seite selbst hosten, müssen Sie sich also per SSH mit Ihrem Server verbinden, um die Änderung vorzunehmen.

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.