Привет!
Сборка Discourse: 3.5.0.beta2-dev(176ee0bf60)
Размещено на: VPS - Centminmod (131.00stable) на Alma8
Проблема: Периодические сбои отправки почты
На этом VPS у меня два виртуальных хоста: один с Xenforo, другой с Discourse.
Xenforo отправляет почту без проблем 24/7. Однако Discourse, похоже, перестаёт работать примерно каждые 24 часа с ошибкой: «Есть [число, которое увеличивается] задач отправки почты, которые не выполнены. Проверьте ваш app.yml и убедитесь, что настройки почтового сервера верны. Просмотрите неудачные задачи в Sidekiq».
Я могу временно «решить» проблему, перезапустив службу Docker. Отправка почты возобновляется.
Я уверен, что настройки почты верны. После перезапуска службы Docker я могу зайти в админ-панель → почта → настройка сервера и логи → настройки и отправить тестовое письмо.
После сбоя это невозможно.
Я вижу, что Sidekiq потребляет слишком много памяти (использует 5xx МБ), из-за чего Fastserver-app перезапускается:
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/lib/demon/sidekiq.rb:55:in `block in rss_memory_check'
/var/www/discourse/lib/demon/sidekiq.rb:49:in `each'
/var/www/discourse/lib/demon/sidekiq.rb:49:in `rss_memory_check'
config/unicorn.conf.rb:132:in `block (2 levels) in reload'
Также я вижу ошибку задачи: «нет адреса для meta.discourse.org (ResolvError)»:
excon-1.2.4/lib/excon/socket.rb:191:in `connect'
excon-1.2.4/lib/excon/ssl_socket.rb:194:in `connect'
excon-1.2.4/lib/excon/socket.rb:60:in `initialize'
excon-1.2.4/lib/excon/ssl_socket.rb:10:in `initialize'
excon-1.2.4/lib/excon/connection.rb:487:in `new'
excon-1.2.4/lib/excon/connection.rb:487:in `socket'
excon-1.2.4/lib/excon/connection.rb:120:in `request_call'
excon-1.2.4/lib/excon/middlewares/mock.rb:57:in `request_call'
excon-1.2.4/lib/excon/middlewares/instrumentor.rb:34:in `request_call'
excon-1.2.4/lib/excon/middlewares/idempotent.rb:19:in `request_call'
excon-1.2.4/lib/excon/middlewares/base.rb:22:in `request_call'
excon-1.2.4/lib/excon/middlewares/decompress.rb:14:in `request_call'
excon-1.2.4/lib/excon/middlewares/base.rb:22:in `request_call'
excon-1.2.4/lib/excon/connection.rb:293:in `request'
/var/www/discourse/lib/discourse_updates.rb:136:in `new_features_payload'
/var/www/discourse/app/jobs/scheduled/check_new_features.rb:24:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'
Я давно не менял конфигурацию этого сервера в отношении Docker. Я обновил ядро, PHP и другие службы, находящиеся за пределами этого Docker-контейнера.
Проблема стала возникать чаще после обновления сборки Discourse. До этого всё работало стабильно.
В качестве DNS я использую 8.8.8.8 и 8.8.4.4.
Буду признателен за любые подсказки!