Sto cercando di creare un sacco di argomenti + post automaticamente. Tuttavia, continuo a essere colpito dai limiti di frequenza.
Ho provato prima usando l’API. Il mio script ha rapidamente raggiunto errori 429. Ho provato ad aggiustare i limiti di frequenza come amministratore (vedi screenshot), ma non mi è chiaro quale sia l’approccio corretto qui, o se si tratti di un’impresa impossibile.
Poi, ho provato a usare uno script ruby con rails r <script> dall’interno del container. Tuttavia, anche qui, vedo An error occurred RateLimiter::LimitExceeded. Sono rimasto sorpreso da questo, perché il metodo ruby è soggetto a limiti di frequenza?
Comunque, c’è un modo per evitarlo? Qual è il modo giusto per importare dati in blocco? Ho pensato di usare direttamente SQL ma preferirei un’API di livello superiore in modo da non dovermi preoccupare di campi mancanti nel database quando creo un elemento.
Mi chiedo se il mio server sia in uno stato strano. Ho armeggiato con i limiti di frequenza nello screenshot, impostandoli a zero e forse a -1. Ora ricevo questi errori di limite di frequenza ovunque. È strano però, alcune richieste passano, quindi su 1500 record che voglio creare, tre o quattro finiscono nel database. Forse distruggerò il database e lo aggiornerò per vedere se questo lo risolve. Non sono sicuro di come controllare lo stato del database e catturare il bug, se ce n’è uno.
È possibile disabilitare temporaneamente i limiti di frequenza durante l’importazione e ripristinarli in seguito? Al momento sono l’unico a utilizzare l’API (non prevedo di consentire ai miei utenti di utilizzare l’API). Pertanto, potrei anche disabilitare permanentemente i limiti di frequenza, se ciò fosse possibile.
@pfaffman Scommetto che ho rovinato qualcosa modificando i limiti di velocità e ora il sistema è in uno stato strano e questi errori non sono il vero problema, c’è qualcos’altro. Creerò nuovamente il server e vedrò se il mio script funziona questa volta e poi riferirò.
Purtroppo, ricreare il server non ha risolto le cose.
Ho eliminato la directory postgres_data all’interno di shared, quindi ho eseguito ./launcher rebuild app e ho ottenuto una nuova istanza dell’app.
Il mio script ora crea l’utente e la categoria di proprietà dell’utente, e poi tenta di creare argomenti all’interno di quella categoria. Tuttavia, incontra immediatamente l’errore di limite di frequenza: An error occurred RateLimiter::LimitExceeded
Sono davvero perplesso perché sembra che gli script rails r non dovrebbero essere soggetti ai problemi di limite di frequenza, giusto? Vedo del codice nei modelli che indica che il codice di limitazione della frequenza viene eseguito, ma non so come disabilitarlo né come verificare che ciò debba accadere solo quando una richiesta arriva tramite l’API.
Altri suggerimenti? Penso che accedere direttamente tramite psql sia ora la mia migliore opzione, il che è deludente perché lo script rails r è molto più pulito e facile da usare.