Nel mio test sopra, entrambi i messaggi sono stati inviati con successo (non ci sono state eccezioni). Il problema è che dopo aver effettuato l’accesso all’account Discourse, ho visto che solo il primo messaggio è stato ricevuto, ma il secondo messaggio mancava.
Successivamente, ho scoperto che se inserisco un ritardo di 20 secondi tra di loro (cioè nel commento), allora solo entrambi possono essere ricevuti dal server.
Ciao @lenny1 – Ho modificato parti del tuo post perché contenevano informazioni sensibili. Per favore, non pubblicare chiavi API o password, ecc. pubblicamente.
Potresti raggiungere un limite di frequenza. Se questa è la causa, Discourse dovrebbe restituire una risposta 429. Potrebbero esserci alcune informazioni nei tuoi log di errore di Discourse a riguardo. Si trovano in Admin / Logs / Error Logs.
Se non vedi errori lì, prova a registrare la risposta che Discourse invia al server che esegue il tuo codice Java. Questo potrebbe fornire informazioni utili.
A seconda dell’account che stai utilizzando per pubblicare i messaggi, potresti raggiungere il limite di ‘rate limit create topic’ o ‘rate limit create post’.
Sto lavorando a uno script che invia 11 post consecutivamente (in circa un secondo) e funziona correttamente, ma vengono inviati dall’account di sistema che potrebbe non avere limiti di frequenza applicati.
Grazie per la risposta.
Sì, ho ricevuto una risposta da Discourse come segue:
“Stai creando argomenti un po’ troppo velocemente. Attendi 15 secondi prima di riprovare.”
Ho risolto il problema modificando il limite di frequenza nella pagina Admin, impostando la creazione di post e argomenti su 0.
Ora la mia domanda è: è possibile impostare il limite di frequenza solo per un account specifico?
No, il limite di frequenza non può essere impostato per un account specifico. Le impostazioni rate limit create topic e rate limit create post non vengono tuttavia applicate agli account dello staff. Forse questo potrebbe aiutare nel tuo caso d’uso.