当每日限额用尽时,重建总是失败。我认为应该修复这个问题,因为我因此损失了两天,并且设置了两次服务器才找出问题所在。也许我不太聪明 ![]()
我认为当每日限额用尽时,您应该跳过此过程并继续重新创建。
当每日限额用尽时,重建总是失败。我认为应该修复这个问题,因为我因此损失了两天,并且设置了两次服务器才找出问题所在。也许我不太聪明 ![]()
我认为当每日限额用尽时,您应该跳过此过程并继续重新创建。
是的。MAXMIND 出现错误导致重建失败是一个大问题。我猜在他们的托管环境中,他们一定以某种方式在实例之间共享数据库。
我不知道有每日限制,但这肯定解释了我看到的一些错误。唯一的解决方案是在重建时禁用 maxmind。
我看了几次代码,试图找出修复方法,但还没有成功。这应该是一个 1-3 行的修复。
既然你终于确定问题是他们的速率限制,我将把它改为 ![]()
我禁用了 MAXMIND 并重新编译,它就可以工作了。但是,我想报告这个问题,因为我认为它也可能发生在其他人身上。感谢您的关注,祝您好运。
这里有一个简单但可能有效的解决方案:
由于我不知道确切的复现问题的方法,因此很难测试代码,但它应该能起作用。
我今晚会做一些工作,如果我看到任何关于错误的资讯,我会更新这个主题。感谢您的时间,我认为这会很有帮助。
是否对该主题进行了任何研究?因为我刚做完,当 MAXMIND 开启时它仍然无法编译,我不得不关闭它才能编译。也许有帮助,我也看到了 zlip 错误。
注意:
我认为我在 app.yml 中错误地输入了许可证密钥。我已修复此问题并重新编译。但是,即使许可证密钥有误或额度已用完,它也必须继续编译而不会出现任何错误。
对于那个错误,你的 app.yml 中是否也添加了 DISCOURSE_MAXMIND_ACCOUNT_ID?
您能分享一下完整的日志吗?
如果我再次遇到此错误,我会分享错误日志,但这与您提供的链接中的相同。
另一方面,当密钥不正确时,编译会出错。因此,最好让此功能继续运行,并在密钥或 ID 错误时发出警告。
好吧,看起来这似乎无法正常工作,尽管我相当确定我使用的 MaxMind 密钥是有效的。我想,既然我在同一个 IP 地址上运行多个站点,并且它们都在请求数据库,所以我触发了速率限制?
...
正在检查“Guest Gate Theme Component”的“default”... 已是最新版本
正在检查“* Official: discourse-search-banner”的“default”... 已是最新版本
正在检查“* Official: Header submenus”的“default”... 已是最新版本
正在检查“* Auto linkify words (official)”的“default”... 已是最新版本
正在检查“* Official: New PM Dropdown Button (KED)”的“default”... 已是最新版本
正在检查“Sidebar Theme Toggle”的“default”... 已是最新版本
正在下载 MaxMindDB...
失败
--------------------
插件名称为'DiscourseAddToSummary',但插件目录名为'discourse-add-to-summary'
正在清理临时文件
正在捆绑资源
I, [2024-07-03T15:34:03.558862 #1728] INFO -- : 正在写入 /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322
bf777d145fed04790e.js
I, [2024-07-03T15:34:03.565737 #1728] INFO -- : 正在写入 /var/www/discourse/public/assets/service-worker-1c2f90c0e9ecfcf748d58ed6c37a510b3cd246299fcf
a5917a060293f1affb92.js
I, [2024-07-03T15:34:03.568027 #1728] INFO -- : 正在写入 /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e
78722e6f99d3656137.js
I, [2024-07-03T15:34:03.569522 #1728] INFO -- : 正在写入 /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428d
cfd680205516fe211700a71c7adb5cbcf4df2cc5.js
I, [2024-07-03T15:34:04.079476 #1728] INFO -- : 正在写入 /var/www/discourse/public/assets/locales/ar-583c921ae692b1e7c988997efcba99e6b41b62572682166e
2c62bae0caeaab2b.js
I, [2024-07-03T15:34:04.373049 #1728] INFO -- : 正在写入 /var/www/discourse/public/assets/locales/be-ee1a0dd42713e1ca29dbacea5dcde76c51a441cb634c5d61
7ba4b20bb7ef5b05.js
rake 命令执行失败!
Zlib::BufError: 缓冲区错误 (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>'
任务:TOP => assets:precompile
(运行任务时加上 --trace 参数可查看完整堆栈跟踪)
I, [2024-07-03T15:34:04.978774 #1] INFO -- : 正在检查“Add(back) Category Colmn (TH)”的“default”... 已是最新版本
正在检查“* Official: discourse-placeholder-theme-component (JP)”的“default”... 已是最新版本
正在检查“* Discourse Easy Footer (Official)”的“default”... 已是最新版本
正在检查“discourse-user-field-prompt”的“default”... 已是最新版本
正在检查“* Rotate Global Banner(JP)”的“default”... 已是最新版本
正在检查“Guest Gate Theme Component”的“default”... 已是最新版本
正在检查“* Official: discourse-search-banner”的“default”... 已是最新版本
正在检查“* Official: Header submenus”的“default”... 已是最新版本
正在检查“* Auto linkify words (official)”的“default”... 已是最新版本
正在检查“* Official: New PM Dropdown Button (KED)”的“default”... 已是最新版本
正在检查“Sidebar Theme Toggle”的“default”... 已是最新版本
正在下载 MaxMindDB...
失败
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' 执行失败,返回
状态码为 #<Process::Status: pid 1726 exit 1>
失败位置:/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
执行失败,参数如下:{"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bund
le exec rake themes:update assets:precompile'"]}
引导过程因退出代码 1 而失败
** 引导失败 ** 请向上滚动查看更早的错误信息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。
随后在注释掉 MaxMind 密钥和 ID 后重新构建,操作成功。
为什么这件事如此困难?
以下是来自 MaxMind 的限额说明:
我不太清楚我怎么会触碰到这些限制,但除了他们服务器出现偶发性停机外,这似乎是唯一的解释?
对我来说,这个限制在我每天重建服务器超过一次时就会触发。
我还会收到一封开头如下的电子邮件(重点是我自己加的)
所以显然还有一个每个 IP 的限制。
这非常有帮助。我从未见过那封邮件。
我或许能做些什么来阻止单个 IP 上的多个服务器出现这种情况,但无法在一天内重建两次似乎是个挑战。我想缓存代理是我唯一能想到的办法。
我很乐意付钱给他们解决这个问题,但看不到如何操作。
但是,这与速率限制无关,因为在我构建完镜像后,我转到 /var/www/discourse/config/discourse.conf 中设置了值,并运行了 rake 任务,它就能够正常下载数据库。
数据库可以存储在持久化存储中吗?
数据库可以在镜像启动后才下载吗?
@JammyDodger 自最新版本发布以来,您是否能够使用 Maxmind 进行构建?@RGJ – 您遇到过什么麻烦吗?
我认为我尝试过的使用 maxmind 的网站都没有成功。昨天我能够通过 rake 任务下载数据库的那个网站,是在我进入容器并编辑了导致 bootstrap 失败的相同设置的配置之后。
关于 Maxmind 失败的其他主题也有好几个。
前几天,即使使用了 Maxmind 账户 ID,我的重建也失败了,但紧随其后的第二次重建却成功了。
我们没有任何问题(但我们正在使用自己的部署系统)。
我刚刚试了一下,可以从同一个 IP 检索文件 10 次(然后我就停止尝试了)。
所以我的“修复”以防止错误导致重建失败也失效了。
所以这将非常难以调试。
我收到了同样的电子邮件(以及同样的问题),是在将一些论坛迁移到新服务器之后——所以我同意 OP 的观点,也许可以显示一个重建的选项,或者在重建开始之前尝试获取数据库,让我们选择“重试”或“不使用 maxmind 进行重建”。
就我所知,最近将要求使用 API 密钥 + 用户名而不是仅使用 API 密钥的更改也导致了我们的升级/重建失败,造成了几天的停机时间。
同意其他人所说的,在 app.yml 中禁用/注释掉 >> 重建 = 解决了问题。我们还没有重新启用,因为我们正在等待任何可能的修复。
您是否还记得重建失败时的错误消息?