A reconstrução sempre falha quando o limite diário é esgotado. Acho que seria bom corrigir isso, pois perdi 2 dias e configurei um servidor duas vezes até descobrir o que causou esse problema. Talvez eu não seja muito esperto
Acho que você deveria pular este processo e continuar a recriar quando o limite diário acabar.
Sim. É um grande problema que um erro com MAXMIND cause a falha na reconstrução. Imagino que em sua hospedagem eles devam compartilhar o banco de dados entre instâncias de alguma forma.
Eu não sabia sobre um limite diário, mas isso certamente explica os erros espúrios que tenho visto. A única solução é desabilitar o maxmind para fazer uma reconstrução.
Eu olhei o código algumas vezes para tentar descobrir uma correção, mas ainda não o fiz. Deve ser uma correção de 1 a 3 linhas.
Como você finalmente identificou que o problema é a limitação de taxa deles, estou mudando isso para um
Eu desabilito o MAXMIND e recompilo, e funciona. No entanto, eu queria relatar isso porque pensei que poderia acontecer com outros. Obrigado pelo seu interesse, boa sorte.
Algum estudo foi feito sobre este assunto? porque eu acabei de fazer e ainda não compila quando o MAXMIND está ativado e tive que desativá-lo para compilar. Pode ajudar, também vejo um erro zlip.
OBS:
Acho que digitei a chave de licença incorretamente em app.yml. Corrigi isso e compilei novamente. No entanto, mesmo que esteja com defeito ou o limite tenha sido esgotado, ele deve continuar compilando sem apresentar erros.
Se eu encontrar esse erro novamente, compartilharei os logs de erro, mas é o mesmo do link que você deu.
Por outro lado, quando a chave está incorreta, a compilação gera um erro. Portanto, seria uma boa ideia para esse recurso continuar e emitir um aviso se houver uma chave ou ID incorreto.
Well, it seems not to work with what I’m fairly certain is a valid maxmind key. I guess since I have several sites on the same IP all requesting the database I’m hitting rate limits?
...
Checking 'Guest Gate Theme Component' for 'default'... up to date
Checking '* Official: discourse-search-banner' for 'default'... up to date
Checking '* Official: Header submenus' for 'default'... up to date
Checking '* Auto linkify words (official)' for 'default'... up to date
Checking '* Official: New PM Dropdown Button (KED)' for 'default'... up to date
Checking 'Sidebar Theme Toggle' for 'default'... up to date
Downloading MaxMindDB...
FAILED
--------------------
Plugin name is 'DiscourseAddToSummary', but plugin directory is named 'discourse-add-to-summary'
Purging temp files
Bundling assets
I, [2024-07-03T15:34:03.558862 #1728] INFO -- : Writing /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322
bf777d145fed04790e.js
I, [2024-07-03T15:34:03.565737 #1728] INFO -- : Writing /var/www/discourse/public/assets/service-worker-1c2f90c0e9ecfcf748d58ed6c37a510b3cd246299fcf
a5917a060293f1affb92.js
I, [2024-07-03T15:34:03.568027 #1728] INFO -- : Writing /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e
78722e6f99d3656137.js
I, [2024-07-03T15:34:03.569522 #1728] INFO -- : Writing /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428d
cfd680205516fe211700a71c7adb5cbcf4df2cc5.js
I, [2024-07-03T15:34:04.079476 #1728] INFO -- : Writing /var/www/discourse/public/assets/locales/ar-583c921ae692b1e7c988997efcba99e6b41b62572682166e
2c62bae0caeaab2b.js
I, [2024-07-03T15:34:04.373049 #1728] INFO -- : Writing /var/www/discourse/public/assets/locales/be-ee1a0dd42713e1ca29dbacea5dcde76c51a441cb634c5d61
7ba4b20bb7ef5b05.js
rake aborted!
Zlib::BufError: buffer error (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
(See full trace by running task with --trace)
I, [2024-07-03T15:34:04.978774 #1] INFO -- : Checking 'Add(back) Category Colmn (TH)' for 'default'... up to date
Checking '* Official: discourse-placeholder-theme-component (JP)' for 'default'... up to date
Checking '* Discourse Easy Footer (Official)' for 'default'... up to date
Checking 'discourse-user-field-prompt' for 'default'... up to date
Checking '* Rotate Global Banner(JP)' for 'default'... up to date
Checking 'Guest Gate Theme Component' for 'default'... up to date
Checking '* Official: discourse-search-banner' for 'default'... up to date
Checking '* Official: Header submenus' for 'default'... up to date
Checking '* Auto linkify words (official)' for 'default'... up to date
Checking '* Official: New PM Dropdown Button (KED)' for 'default'... up to date
Checking 'Sidebar Theme Toggle' for 'default'... up to date
Downloading MaxMindDB...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' failed with ret
urn #<Process::Status: pid 1726 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bund
le exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Subsequent rebuild with the Maxmind key and id commented out succeeds.
Why is this so hard?
So here’s the limit from
I’m not quite clear how I’d be hitting these limits, but it’s the only explanation other than spurious downtime on their servers?
Eu talvez consiga fazer algo para impedir que múltiplos servidores em um único IP façam isso, mas não poder reconstruir duas vezes em um dia parece um desafio. Acho que um proxy de cache é a única coisa que consigo pensar.
Eu ficaria feliz em pagar a eles alguma quantia em dinheiro para que isso não seja um problema, mas não vejo uma maneira de fazer isso.
Mas é algo diferente dos limites de taxa porque, depois que construí a imagem, fui e defini os valores em /var/www/discourse/config/discourse.conf e executei a tarefa do rake e ele baixou o banco de dados perfeitamente.
O banco de dados poderia viver em armazenamento persistente?
O banco de dados poderia ser baixado somente após a inicialização da imagem?
@JammyDodger você conseguiu compilar com Maxmind desde o último lançamento? @RGJ – você teve algum problema?
Eu não acho que nenhum site que tentei com maxmind funcionou. E aquele que fiz ontem foi capaz de baixar o banco de dados com a tarefa rake depois que entrei e editei a configuração dentro do container com as mesmas configurações que causaram a falha do bootstrap.
Houve vários outros tópicos sobre falhas devido ao Maxmind.
Eu tive o mesmo e-mail (e problema) depois de mover alguns fóruns para um novo servidor - então concordo com o OP, talvez exibir uma opção para reconstruir, ou, tentar buscar o banco de dados antes que a reconstrução comece, nos dando a opção de ‘tentar novamente’ ou ‘reconstruir sem maxmind’.
fwiw, a recente alteração para exigir chave de API + nome de usuário em vez de apenas chave de API também causou a falha em nossa atualização/reconstrução, resultando em alguns dias de inatividade.
Concordo com outros que desabilitar/comentar em app.yml >> reconstruir = corrigiu. Ainda não reativamos, pois estamos aguardando qualquer correção que possa ser feita.