当 MAXMIND 每日配额用尽时,重建总是失败

当每日限额用尽时,重建总是失败。我认为应该修复这个问题,因为我因此损失了两天,并且设置了两次服务器才找出问题所在。也许我不太聪明 :slight_smile:

我认为当每日限额用尽时,您应该跳过此过程并继续重新创建。

4 个赞

是的。MAXMIND 出现错误导致重建失败是一个大问题。我猜在他们的托管环境中,他们一定以某种方式在实例之间共享数据库。

我不知道有每日限制,但这肯定解释了我看到的一些错误。唯一的解决方案是在重建时禁用 maxmind。

我看了几次代码,试图找出修复方法,但还没有成功。这应该是一个 1-3 行的修复。

既然你终于确定问题是他们的速率限制,我将把它改为 :bug:

5 个赞

我禁用了 MAXMIND 并重新编译,它就可以工作了。但是,我想报告这个问题,因为我认为它也可能发生在其他人身上。感谢您的关注,祝您好运。

2 个赞

这里有一个简单但可能有效的解决方案:

由于我不知道确切的复现问题的方法,因此很难测试代码,但它应该能起作用。

1 个赞

我今晚会做一些工作,如果我看到任何关于错误的资讯,我会更新这个主题。感谢您的时间,我认为这会很有帮助。

是否对该主题进行了任何研究?因为我刚做完,当 MAXMIND 开启时它仍然无法编译,我不得不关闭它才能编译。也许有帮助,我也看到了 zlip 错误。

注意:
我认为我在 app.yml 中错误地输入了许可证密钥。我已修复此问题并重新编译。但是,即使许可证密钥有误或额度已用完,它也必须继续编译而不会出现任何错误。

1 个赞

对于那个错误,你的 app.yml 中是否也添加了 DISCOURSE_MAXMIND_ACCOUNT_ID

2 个赞

您能分享一下完整的日志吗?

1 个赞

如果我再次遇到此错误,我会分享错误日志,但这与您提供的链接中的相同。

另一方面,当密钥不正确时,编译会出错。因此,最好让此功能继续运行,并在密钥或 ID 错误时发出警告。

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?

1 个赞

对我来说,这个限制在我每天重建服务器超过一次时就会触发。
我还会收到一封开头如下的电子邮件(重点是我自己加的)

所以显然还有一个每个 IP 的限制。

4 个赞

这非常有帮助。我从未见过那封邮件。

我或许能做些什么来阻止单个 IP 上的多个服务器出现这种情况,但无法在一天内重建两次似乎是个挑战。我想缓存代理是我唯一能想到的办法。

我很乐意付钱给他们解决这个问题,但看不到如何操作。

1 个赞

但是,这与速率限制无关,因为在我构建完镜像后,我转到 /var/www/discourse/config/discourse.conf 中设置了值,并运行了 rake 任务,它就能够正常下载数据库。

数据库可以存储在持久化存储中吗?

数据库可以在镜像启动后才下载吗?

1 个赞

@JammyDodger 自最新版本发布以来,您是否能够使用 Maxmind 进行构建?@RGJ – 您遇到过什么麻烦吗?

我认为我尝试过的使用 maxmind 的网站都没有成功。昨天我能够通过 rake 任务下载数据库的那个网站,是在我进入容器并编辑了导致 bootstrap 失败的相同设置的配置之后。

关于 Maxmind 失败的其他主题也有好几个。

前几天,即使使用了 Maxmind 账户 ID,我的重建也失败了,但紧随其后的第二次重建却成功了。

1 个赞

我们没有任何问题(但我们正在使用自己的部署系统)。

我刚刚试了一下,可以从同一个 IP 检索文件 10 次(然后我就停止尝试了)。

所以我的“修复”以防止错误导致重建失败也失效了。

所以这将非常难以调试。

我收到了同样的电子邮件(以及同样的问题),是在将一些论坛迁移到新服务器之后——所以我同意 OP 的观点,也许可以显示一个重建的选项,或者在重建开始之前尝试获取数据库,让我们选择“重试”或“不使用 maxmind 进行重建”。

2 个赞

就我所知,最近将要求使用 API 密钥 + 用户名而不是仅使用 API 密钥的更改也导致了我们的升级/重建失败,造成了几天的停机时间。

同意其他人所说的,在 app.yml 中禁用/注释掉 >> 重建 = 解决了问题。我们还没有重新启用,因为我们正在等待任何可能的修复。

您是否还记得重建失败时的错误消息?

1 个赞