Dopo una recente ricostruzione di Discourse (self-hosted), riscontro costantemente limitazioni di frequenza (errori 429) per gli utenti durante la visualizzazione del calendario principale, anche se il mio sito ha un’attività molto bassa (1-2 utenti simultanei). Questo comportamento ha iniziato a manifestarsi dopo le mie ultime due ricostruzioni.
La mia configurazione di rate limiting (impostata in app.yml):
DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE: 4 volte il valore predefinito
DISCOURSE_MAX_REQS_PER_MINUTE: 4 volte il valore predefinito
DISCOURSE_MAX_REQS_PER_DAY: 4 volte il valore predefinito
Nessun limite di frequenza per IP specificato.
Osservazioni
Nessun errore viene mostrato in /logs.
Non viene utilizzato alcun reverse proxy (container Let’s Encrypt standard e un record A sul dominio).
Solo le visualizzazioni del calendario sembrano innescare questa inaspettata limitazione di frequenza.
Non ci sono state modifiche all’attività degli utenti o ai plugin personalizzati.
Questo è iniziato solo dopo una recente ricostruzione di Discourse.
Amministratore > Log sono puliti al momento dell’incidente.
Risoluzione dei problemi finora
Confermata la presenza delle impostazioni personalizzate di rate limiting e che sono ben al di sopra dei valori predefiniti.
Provati diversi browser, svuotate le cache.
Creato un calendario di test con solo pochi eventi, ancora riproducibile.
Gli argomenti di meta.discourse.org suggeriscono che potrebbero esserci limiti di frequenza interni aggiuntivi non documentati che sovrascrivono i valori personalizzati dopo gli aggiornamenti.
Confermare se ci sono nuovi o nascosti limitatori di frequenza che potrebbero influire sulle richieste in background o generate dai plugin dopo un recente aggiornamento/ricostruzione e, in tal caso, descrivere come sovrascriverli o regolarli.
Spiegare perché i miei alti limiti di frequenza personalizzati non vengono rispettati per la visualizzazione del calendario.
Suggerire ulteriori procedure di risoluzione dei problemi o modifiche alla configurazione, se presenti.
Sembra che questo possa essere correlato a Re-add full ics export - #9 by kelv perché 100 eventi sembrano essere visualizzati, poi dopo circa 2 minuti possono essere visualizzati altri grandi gruppi, e non appaiono gradualmente ma in grandi blocchi.
Modifica: Questo comportamento limitato dalla frequenza è gestibile per ora, ma diventa evidente quando si avanza molto; posso vedere tutti gli eventi della mia settimana corrente e tutti gli eventi della prossima, è se poi procedo alla settimana successiva che raggiungo il limite massimo.
Devo anche chiarire che il calendario completo degli eventi futuri v6 non era limitato dalla frequenza di richieste a questo livello, prima che impostassi le impostazioni personalizzate di throttling dell’API. Queste impostazioni di app.yml non hanno modificato il limite di frequenza visibile su FullCalendar
molti, penso che MAX_RESULTS abbia superato il suo limite ora dopo il 27 settembre. Devo aggiornare Full Calendar per visualizzare i miei eventi ogni volta che guardo
Non credo che si tratti di quel tipo di limite di frequenza. Quando ho menzionato le impostazioni di limitazione della velocità dell’API, intendevo dire che il mio Discourse è configurato per gestire molti argomenti di eventi, ma la visualizzazione di FullCalendar non funziona bene come prima che il codice venisse unito
Mi scuso per la confusione
Modifica: ho modificato l’OP per riflettere la mancanza di errori 429
Sono sulle ultime versioni. Dal punto di vista dell’interfaccia utente, questo problema si è risolto da solo durante la notte. Ho aggiornato ieri sera, ma il problema non si è risolto immediatamente. Il numero totale di eventi che sono passati è di circa 270. Ora sono tornato a usare PWA…
La mia istanza Discourse è ora aggiornata. Ieri ho ricevuto una segnalazione da un utente separato della mia istanza secondo cui una visualizzazione della settimana futura non stava caricando tutti gli eventi. Avendo già notato che questo errore non influisce sull’interfaccia utente della visualizzazione della settimana corrente, ho cercato di individuare l’errore sul mio laptop. Di seguito è riportata la riproduzione video;