Восстановление всегда завершается неудачей, когда исчерпан дневной лимит. Думаю, стоит исправить это, так как я потерял два дня и дважды настраивал сервер, пока не выяснил причину проблемы. Возможно, я не очень умён
По-моему, при исчерпании дневного лимита нужно пропустить этот шаг и продолжить процесс восстановления.
Да. Это огромная проблема, что ошибка в MaxMind приводит к сбою пересборки. Похоже, на их хостинге база данных каким-то образом разделяется между экземплярами.
Я не знал о дневном лимите, но это, безусловно, объясняет те ошибочные ошибки, которые я наблюдал. Единственное решение — отключить MaxMind для выполнения пересборки.
Я несколько раз изучал код, пытаясь найти решение, но пока не сделал этого. Это должно быть исправление в 1–3 строки.
Поскольку вы наконец определили, что проблема заключается в ограничении скорости с их стороны, я меняю метку этой задачи на
Я отключил MAXMIND, перекомпилировал, и всё заработало. Однако я хотел сообщить об этом, так как подумал, что это может случиться и с другими. Спасибо за ваш интерес, удачи.
Проводилось ли уже исследование по этой теме? Потому что я только что попробовал, и компиляция всё ещё не удаётся, когда включён MAXMIND, и мне пришлось его отключить, чтобы скомпилировать. Возможно, это поможет: я также вижу ошибку zlip.
НЕ ТО:
Кажется, я неправильно ввёл лицензионный ключ в app.yml. Я исправил это и попытался скомпилировать снова. Однако, даже если ключ недействителен или лимит исчерпан, компиляция должна продолжаться без выдачи ошибок.
Если я столкнусь с этой ошибкой снова, я поделюсь логами ошибок, но она такая же, как в ссылке, которую вы предоставили.
С другой стороны, при неправильном ключе компиляция выдаёт ошибку. Поэтому было бы разумно, чтобы эта функция продолжала работать и выдавала предупреждение, если ключ или идентификатор неверны.
Что ж, похоже, это не работает, хотя я почти уверен, что ключ 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 aborted!
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 может помочь в диагностике проблемы.
Последующая пересборка с закомментированным ключом и ID MaxMind прошла успешно.
Почему это так сложно?
Вот лимит из
Я не совсем понимаю, как я могу достигать этих лимитов, но это единственное объяснение, кроме случайных простоев на их серверах?
Это огромная помощь. Я никогда не видел этого письма.
Возможно, я смогу что-то сделать, чтобы несколько серверов на одном IP-адресе не делали этого, но невозможность пересоздать дважды в день кажется довольно сложной задачей. Думаю, единственный вариант, который я могу придумать, — это кэширующий прокси.
Я был бы рад заплатить им какую-то сумму, чтобы это перестало быть проблемой, но не вижу способа это сделать.
Но это что-то другое, кроме ограничений скорости, потому что после создания образа я установил значения в /var/www/discourse/config/discourse.conf, выполнил задачу rake, и база данных загрузилась без проблем.
Может ли база данных находиться в постоянном хранилище?
Может ли база данных загружаться только после запуска образа?
@JammyDodger, удалось ли вам собрать проект с использованием MaxMind после последнего релиза? @RGJ — у вас возникли какие-либо проблемы?
Кажется, ни один из сайтов, которые я пробовал с MaxMind, не работал. А тот, который я настраивал вчера, смог загрузить базу данных с помощью задачи rake, после того как я зашёл внутрь контейнера и отредактировал конфигурацию, используя те же настройки, из-за которых сборка (bootstrap) не удалась.
Было уже несколько других тем, посвящённых сбоям из-за MaxMind.
У меня была такая же проблема с электронной почтой после переноса некоторых форумов на новый сервер — поэтому согласен с автором темы: возможно, стоит добавить опцию для перестройки или попытаться получить базу данных до начала перестройки, предоставив нам возможность «попробовать снова» или «перестроить без MaxMind».
Кстати, недавнее изменение, требующее теперь ключ API и имя пользователя вместо только ключа API, также привело к сбою нашего обновления/пересборки, что вызвало несколько дней простоя.
Согласен с другими: отключение/комментирование в app.yml >> rebuild исправило проблему. Мы пока не включили это обратно, так как ждем, каким будет исправление.