La ricostruzione fallisce sempre quando si esaurisce il limite giornaliero di MAXMIND

La ricostruzione fallisce sempre quando il limite giornaliero è esaurito. Penso che sarebbe bene risolvere questo problema perché ho perso 2 giorni e ho configurato un server due volte finché non ho capito cosa causava questo problema. Forse non sono molto intelligente :slight_smile:

Penso che dovresti saltare questo processo e continuare a ricreare quando si esaurisce il limite giornaliero.

4 Mi Piace

Sì. È un grosso problema che un errore con MAXMIND causi il fallimento di una ricostruzione. Immagino che sul loro hosting debbano in qualche modo condividere il db tra le istanze.

Non ero a conoscenza di un limite giornaliero, ma ciò spiega certamente gli errori spurii che ho visto. L’unica soluzione è disabilitare maxmind per eseguire una ricostruzione.

Ho esaminato il codice un paio di volte per cercare di trovare una soluzione, ma non l’ho ancora fatto. Deve essere una correzione di 1-3 righe.

Dato che hai finalmente identificato che il problema è il loro limite di frequenza, sto cambiando questo in un :bug:

5 Mi Piace

Disabilito MAXMIND e ricompilo, e funziona. Tuttavia, volevo segnalarlo perché pensavo potesse succedere anche ad altri. Grazie per il tuo interesse, buona fortuna.

2 Mi Piace

Ecco una soluzione banale, ma probabilmente efficace, per questo problema:

Dato che non so esattamente come causare il problema, non è facile testare il codice, ma dovrebbe funzionare.

1 Mi Piace

Farò del lavoro stasera e, se vedrò informazioni sull’errore, aggiornerò l’argomento. Grazie per il tuo tempo, penso che sarà utile.

È stato fatto qualche studio su questo argomento? perché l’ho appena fatto e non si compila ancora quando MAXMIND è attivo e ho dovuto chiuderlo per compilare. Potrebbe aiutare, vedo anche un errore zlip.

NOTA:
Penso di aver inserito la chiave di licenza in modo errato in app.yml. L’ho corretto e ho ricompilato. Tuttavia, anche se è difettoso o il limite è esaurito, deve continuare a compilare senza dare errori.

1 Mi Piace

Per quell’errore, hai anche aggiunto DISCOURSE_MAXMIND_ACCOUNT_ID al tuo app.yml?

2 Mi Piace

Puoi condividere tutti i log?

1 Mi Piace

Se dovessi riscontrare nuovamente questo errore, condividerò i log dell’errore, ma è lo stesso del link che mi hai dato.

D’altra parte, quando la chiave non è corretta, la compilazione genera un errore. Quindi, sarebbe una buona idea che questa funzionalità continuasse e desse un avviso se ci fosse una chiave o un ID errato.

Beh, sembra che non funzioni con una chiave MaxMind che sono abbastanza certo sia valida. Immagino che, avendo diversi siti sullo stesso IP che richiedono tutti il database, stia raggiungendo i limiti di velocità?

...
Controllo di 'Guest Gate Theme Component' per 'default'... aggiornato
Controllo di '* Official: discourse-search-banner' per 'default'... aggiornato
Controllo di '* Official: Header submenus' per 'default'... aggiornato
Controllo di '* Auto linkify words (official)' per 'default'... aggiornato
Controllo di '* Official: New PM Dropdown Button (KED)' per 'default'... aggiornato
Controllo di 'Sidebar Theme Toggle' per 'default'... aggiornato
Download di MaxMindDB...



RIUSCITO
--------------------

                                                                                                                                     
Il nome del plugin è 'DiscourseAddToSummary', ma la directory del plugin è chiamata 'discourse-add-to-summary'                                                     
Pulizia dei file temporanei                                                                                                                                   
Raggruppamento delle risorse                                                                                                                                      
I, [2024-07-03T15:34:03.558862 #1728]  INFO -- : Scrittura di /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322
bf777d145fed04790e.js                                                                                                                                
I, [2024-07-03T15:34:03.565737 #1728]  INFO -- : Scrittura di /var/www/discourse/public/assets/service-worker-1c2f90c0e9ecfcf748d58ed6c37a510b3cd246299fcf
a5917a060293f1affb92.js                                                                                                                              
I, [2024-07-03T15:34:03.568027 #1728]  INFO -- : Scrittura di /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e
78722e6f99d3656137.js                                                                                                                                
I, [2024-07-03T15:34:03.569522 #1728]  INFO -- : Scrittura di /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428d
cfd680205516fe211700a71c7adb5cbcf4df2cc5.js                                                                                                          
I, [2024-07-03T15:34:04.079476 #1728]  INFO -- : Scrittura di /var/www/discourse/public/assets/locales/ar-583c921ae692b1e7c988997efcba99e6b41b62572682166e
2c62bae0caeaab2b.js                                                                                                                                  
I, [2024-07-03T15:34:04.373049 #1728]  INFO -- : Scrittura di /var/www/discourse/public/assets/locales/be-ee1a0dd42713e1ca29dbacea5dcde76c51a441cb634c5d61
7ba4b20bb7ef5b05.js                                                                                                                                  
rake aborted!                                                                                                                                        
Zlib::BufError: errore del buffer (Zlib::BufError)                                                                                                        
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `<<'                                       
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `set'                                      
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:212:in `set'                                                 
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:136:in `set'                                                 
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:243:in `store_asset'                                        
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:185:in `load_from_unloaded'                                 
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:60:in `block in load'                                       
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'                  
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:44:in `load'                                                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'                     
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:47:in `load'                                    
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:66:in `find_asset'                                            
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:73:in `find_all_linked_assets'                                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:134:in `block in find'                                    
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `each'                                             
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `find'                                             
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:186:in `compile'                                          
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.5.1/lib/sprockets/rails/task.rb:67:in `block (3 levels) in define'                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/rake/sprocketstask.rb:147:in `with_logger'                                      
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.5.1/lib/sprockets/rails/task.rb:66:in `block (2 levels) in define'                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'                                                       
/usr/local/bin/bundle:25:in `load'                                                                                                                   
/usr/local/bin/bundle:25:in `<main>'                                                                                                                 
Tasks: TOP => assets:precompile                                                                                                                      
(Vedi il tracciato completo eseguendo il task con --trace)                                                                                                        
I, [2024-07-03T15:34:04.978774 #1]  INFO -- : Controllo di 'Add(back) Category Colmn (TH)' per 'default'... aggiornato                                   
Controllo di '* Official: discourse-placeholder-theme-component (JP)' per 'default'... aggiornato                                                        
Controllo di '* Discourse Easy Footer (Official)' per 'default'... aggiornato                                                                            
Controllo di 'discourse-user-field-prompt' per 'default'... aggiornato                                                                                   
Controllo di '* Rotate Global Banner(JP)' per 'default'... aggiornato                                     
Controllo di 'Guest Gate Theme Component' per 'default'... aggiornato                                                                                    
Controllo di '* Official: discourse-search-banner' per 'default'... aggiornato                                                                           
Controllo di '* Official: Header submenus' per 'default'... aggiornato                                                                                   
Controllo di '* Auto linkify words (official)' per 'default'... aggiornato                                                                               
Controllo di '* Official: New PM Dropdown Button (KED)' per 'default'... aggiornato                                                                      
Controllo di 'Sidebar Theme Toggle' per 'default'... aggiornato                                                                                          
Download di MaxMindDB...                                                                                                                             
                                                                                                                                                     
                                                                                                                                                     
                                                                                                                                                     
RIUSCITO                                                                                                                                               
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' fallito con stato di ritorno #<Process::Status: pid 1726 exit 1>
Posizione dell'errore: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
Esecuzione fallita con i parametri {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bund
le exec rake themes:update assets:precompile'"]}
Avvio fallito con codice di uscita 1
** AVVIO FALLITO ** scorri verso l'alto e cerca messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.

Una successiva ricompilazione con la chiave MaxMind e l’ID commentati ha avuto successo.

Perché è così difficile?

Ecco il limite indicato in

Non sono del tutto chiaro su come potrei raggiungere questi limiti, ma è l’unica spiegazione plausibile oltre a interruzioni spurie dei loro server?

1 Mi Piace

Per me quel limite si attiva ogni volta che ricostruisco un server più di una volta al giorno.
Ricevo anche un’email che inizia così (enfasi mia)

Quindi apparentemente c’è anche un limite per IP.

4 Mi Piace

È di grande aiuto. Non ho mai visto quell’email.

Potrei essere in grado di fare qualcosa per evitare che i server multipli su un singolo IP facciano ciò, ma non essere in grado di ricostruire due volte al giorno sembra una sfida. Immagino che un proxy di caching sia l’unica cosa che mi viene in mente.

Sarei felice di pagare loro una certa somma di denaro per risolvere questo problema, ma non vedo un modo per farlo.

1 Mi Piace

Ma è qualcosa di diverso dai limiti di frequenza perché dopo aver creato l’immagine sono andato a impostare i valori in /var/www/discourse/config/discourse.conf e ho eseguito il rake task e ha scaricato il database senza problemi.

Il database potrebbe risiedere in uno storage persistente?

Il database potrebbe essere scaricato solo dopo l’avvio dell’immagine?

1 Mi Piace

@JammyDodger sei riuscito a creare con Maxmind dopo l’ultima release? @RGJ – hai avuto problemi?

Non credo che nessun sito che ho provato con maxmind abbia funzionato. E quello che ho fatto ieri è stato in grado di scaricare il database con il rake task dopo che sono entrato e ho modificato la configurazione all’interno del container con le stesse impostazioni che hanno causato il fallimento del bootstrap.

Ci sono stati diversi altri argomenti sui fallimenti dovuti a Maxmind.

Ho avuto un errore di ricompilazione l’altro giorno anche con l’ID account Maxmind, ma un secondo subito dopo è andato a buon fine.

1 Mi Piace

Non abbiamo riscontrato alcun problema, (ma stiamo utilizzando il nostro sistema di deployment).

Ho appena provato e riesco a recuperare il file 10 volte dallo stesso IP (e poi ho smesso di provarci).

Quindi la mia “correzione” per evitare che un errore interrompesse la ricostruzione è fallita.

Quindi sarà molto difficile eseguire il debug.

Ho ricevuto la stessa email (e lo stesso problema) dopo aver spostato alcuni forum su un nuovo server, quindi concordo con l’OP, forse visualizzare un’opzione per ricostruire, o, provare a recuperare il db prima che inizi la ricostruzione dandoci l’opzione di ‘riprova’ o ‘ricostruisci senza maxmind’.

2 Mi Piace

per quanto mi riguarda, la recente modifica che richiede la chiave API + nome utente invece della sola chiave API ha causato anche il fallimento del nostro aggiornamento/ricostruzione, provocando alcuni giorni di inattività.

D’accordo con altri che disabilitare/commentare in app.yml >> ricostruire = l’ha risolto. Non l’abbiamo ancora riattivato poiché stiamo aspettando qualsiasi correzione possa essere questa.

Hai per caso il messaggio di errore di dove è fallita la ricostruzione?

1 Mi Piace