Hallo, ich habe ein Problem, bei dem meine Hauptseite Discourse häufig aufruft (da ich Discourse SSO verwende, die Double-Ignore-Blockierung und so weiter nutze) und dabei ständig auf Rate-Limits stößt.
Die gute Nachricht ist, dass die aufrufende Seite eine feste IP-Adresse hat… Gibt es also eine Möglichkeit, alle API-Anfragen von einer bestimmten IP global in die Whitelist aufzunehmen, damit sie niemals das Rate-Limit auslösen?
Gibt es im Allgemeinen überhaupt eine Möglichkeit, das Rate-Limiting komplett zu deaktivieren? Ich erlaube Benutzern keine eigenen API-Schlüssel, also möchte ich einfach nur, dass meine App Discourse jederzeit aufrufen und alles tun kann. Das Rate-Limiting steht mir im Moment einfach im Weg.
Ja, das ist korrekt. Ich habe einen lokalen Cache implementiert, um die Discourse-Mitglieder-IDs in Bezug auf die Haupt-IDs meiner Website zu verfolgen, und ich protokolliere den letzten Zeitpunkt, an dem ich bestimmte Aktionen ausgeführt habe, damit ich die API nicht unnötig aufrufen muss.
Wenn meine Hauptwebsite jedoch stark frequentiert ist, gibt es viele Mitglieder, die Foren betreten oder verlassen. Da ich die doppelte Ignorier-Funktion zur Simulation eines Blockierens implementiert habe, muss meine Website für jede Person auf der Blockierliste eines Nutzers eine Reihe von API-Aufrufen tätigen. Wenn einer meiner Mitglieder fünf Personen blockiert hat, können das leicht 15–20 API-Aufrufe sein.
Ein besserer Ansatz könnte sein, ein Plugin hinzuzufügen, das einen sync_blocks-Endpunkt bereitstellt, sodass du pro Listenänderung nur noch einen API-Aufruf benötigst.