In meinem obigen Test wurden beide Nachrichten erfolgreich gesendet (es gab keine Ausnahme). Das Problem ist, dass nach dem Einloggen in mein Discourse-Konto nur die 1. Nachricht empfangen wurde, die 2. Nachricht jedoch fehlte.
Später fand ich heraus, dass, wenn ich eine Verzögerung von 20 Sekunden zwischen ihnen einfüge (d. h. in den Kommentar), dann beide vom Server empfangen werden können.
Hallo @lenny1 – Ich habe Teile deines Beitrags geschwärzt, da sie sensible Informationen enthielten. Bitte poste keine API-Schlüssel oder Passwörter usw. öffentlich.
Möglicherweise erreichen Sie ein Ratenlimit. Wenn dies die Ursache ist, sollte Discourse eine 429-Antwort zurückgeben. Möglicherweise finden Sie in Ihren Discourse-Fehlerprotokollen einige Informationen dazu. Diese finden Sie unter Admin / Protokolle / Fehlerprotokolle.
Wenn Sie dort keine Fehler sehen, versuchen Sie, die Antwort zu protokollieren, die Discourse an den Server sendet, auf dem Ihr Java-Code ausgeführt wird. Das könnte einige nützliche Informationen liefern.
Abhängig davon, welches Konto Sie zum Posten der Nachrichten verwenden, stoßen Sie möglicherweise auf ‘rate limit create topic’ oder ‘rate limit create post’.
Ich arbeite gerade an einem Skript, das 11 Beiträge hintereinander sendet (innerhalb etwa einer Sekunde), und das funktioniert gut, aber sie werden vom Systemkonto gesendet, für das möglicherweise keine Ratenbegrenzungen gelten.
Danke für die Antwort.
Ja, ich habe die folgende Antwort von Discourse erhalten:
„Sie erstellen zu schnell Themen. Bitte warten Sie 15 Sekunden, bevor Sie es erneut versuchen.“
Ich habe das Problem gelöst, indem ich das Ratenlimit auf der Admin-Seite geändert habe und die Erstellung von Beiträgen und Themen auf 0 gesetzt habe.
Meine Frage ist nun, ob es möglich ist, das Ratenlimit nur für ein bestimmtes Konto festzulegen?
Nein, die Ratenbegrenzung kann nicht für ein bestimmtes Konto festgelegt werden. Die Einstellungen rate limit create topic und rate limit create post werden jedoch nicht auf Staff-Konten angewendet. Möglicherweise hilft Ihnen das für Ihren Anwendungsfall weiter.