{\"errors\":[\"Sie haben diese Aktion zu oft ausgeführt. Bitte warten Sie einige Sekunden, bevor Sie es erneut versuchen.\"],\"error_type\":\"rate_limit\",\"extras\":{\"wait_seconds\":0}}
Wie kann ich diesen Fehler vermeiden? Bitte geben Sie einen Vorschlag.
Rate-Limit für das Erstellen von Themen = 0 (Nach dem Erstellen eines Themas müssen Benutzer (n) Sekunden warten, bevor sie ein weiteres Thema erstellen können.)
Rate-Limit für das Erstellen von Beiträgen = 0 (Nach dem Veröffentlichen eines Beitrags müssen Benutzer (n) Sekunden warten, bevor sie einen weiteren Beitrag erstellen können.)
Rate-Limit für neue Benutzer beim Erstellen von Themen = 0 (Nach dem Erstellen eines Themas müssen neue Benutzer (n) Sekunden warten, bevor sie ein weiteres Thema erstellen können.)
Rate-Limit für neue Benutzer beim Erstellen von Beiträgen = 0 (Nach dem Veröffentlichen eines Beitrags müssen neue Benutzer (n) Sekunden warten, bevor sie einen weiteren Beitrag erstellen können.)
Dennoch tritt der Fehler weiterhin auf. Gibt es noch andere Limits, die ich überprüfen sollte?
Ich versuche, über die API Themen zu erstellen. Beim Versuch, über die API etwa 100 Themen zu erstellen, wird dieser Fehler ausgegeben.
Ich versuche auch, über die API Tags zu meinen Themen hinzuzufügen. In meinem Forum gibt es hunderte von Themen, die keine Tags haben. Daher aktualisiere ich die Tags für diese Themen über die API.
Hallo
Ich habe das gleiche Problem, aber mit Leseaktionen
Ich baue eine Integration mit Discourse und verwende die API, um viele Beiträge zu lesen. Ich führe keine Schreibvorgänge durch, nur Leseoperationen. Um die neuesten Beiträge zu erhalten, gehe ich wie folgt vor:
Neueste Themen über den Endpunkt /latest.json abrufen
Nacheinander alle Themen über /t/:id abrufen, um den Beitrag-Stream zu erhalten und durch ihn zu blättern
Wenn es mehr als 20 Beiträge in diesem Thema gibt, deren IDs aus dem “Stream” abrufen und sie sequenziell in Blöcken der Größe 20 abrufen
Außerdem führe ich alle Anfragen in einer Warteschlange durch und versuche, nicht mehr als ~25 Anfragen pro 10 Sekunden zu senden, aber trotzdem sehe ich oft die Fehlermeldung “Sie haben diese Aktion zu oft ausgeführt” für Leseanfragen von Themen oder Beiträgen. Ich habe die Discourse-Einstellungen überprüft, kann aber keine Limits für das Lesen finden. Ich sehe nur Limits für “Themen erstellen” und andere Schreibvorgänge.
Gibt es etwas, das ich dagegen tun kann? Vielen Dank für jeden Tipp und Entschuldigung, dass ich ein altes Thema wieder aufgreife.
Es sieht so aus, als ob ich das max_admin_api_reqs_per_minute-Limit erreiche. Kann es angepasst werden? Ich kann es nicht unter Einstellungen > Ratenbegrenzungen finden.
EDIT: Tatsächlich scheinen dort zwei Limits zu greifen. admin_api_key_rate_limit und ip_10_secs_limit.
Ich bin neugierig, ob das Hinzufügen von ?print=true die Anzahl der API-Aufrufe beim Lesen reduziert?\n\nFetch All Posts from a Topic Using the API ermöglicht es Ihnen, 1000 Beiträge in einem einzigen API-Aufruf abzurufen.
Aber es scheint, dass es nicht um die Verwendung von ?print=true geht, sondern um etwas anderes. Werde es auf jeden Fall ausprobieren.
Aber soweit ich das verstehe, hilft das nur bei Themen mit mehr als 20 Beiträgen. Ich glaube, die meisten unserer Themen haben weniger, sodass der eigentliche Engpass zu viele Anfragen für Themen sind.
Ja, das dient zur Einschränkung von Benutzern. Wenn Sie einen Admin-API-Schlüssel haben, wirkt sich diese Einstellung nicht auf Sie aus.
Ah ja, sehr wahrscheinlich dann.
Neben der Überprüfung auf 429-Fehler und der Verlangsamung für den angegebenen Betrag gibt es ein paar Optionen.
Ich würde damit beginnen, das Data Explorer-Plugin zu verwenden, um eine Abfrage zu schreiben, die alle Themen abruft, nach denen Sie suchen. Ich glaube, es werden bis zu 1000 Ergebnisse zurückgegeben. Sie können dann die API verwenden, um die Abfrage aufzurufen und die Antwort zu erhalten.
Je nach Anwendungsfall können Webhooks hier ebenfalls hilfreich sein. Sie könnten sie für jedes neue Thema und jeden neuen Beitrag einrichten und einfach auf die neuesten Inhalte hören.
Wenn Sie immer noch feststellen, dass Sie die API-Ratenlimits erhöhen müssen, können wir das tun, aber nur für Websites, die sich auf unserem Enterprise-Plan befinden, da sie nicht auf unserem gemeinsamen Pro/Business-Hosting gehostet werden.
Das Problem bei der Verwendung des Data Explorer Plugins ist, dass wir nicht die einzigen Benutzer der Discourse-Integration sind. Wir (fibery.io) ermöglichen es unseren Kunden, ihre Discourse-Instanzen zu integrieren, damit sie die Daten nahtlos mit unserem Tool synchronisieren können.
Webhooks sind eine nette Ergänzung, aber sie helfen nicht bei der ersten Synchronisierung (die die meiste Arbeit macht, z. B. Themen und Beiträge für den letzten Monat). Danach führen wir geplante Synchronisierungen für neue Daten durch, und diese sind kein Problem.
Das Prüfen von 429 und das erneute Versuchen funktioniert gut, kann aber manchmal langsam sein)