こんにちは!
Discourse のビルド: 3.5.0.beta2-dev(176ee0bf60)
ホスト: VPS - Centminmod (131.00stable) on Alma8
問題: メール送信が断続的に失敗する
この VPS には 2 つの vHost があります。1 つは Xenforo、もう 1 つは Discourse です。
私の Xenforo ホストは、問題なく 24 時間 365 日メールを送信しています。しかし、Discourse は約 24 時間ごとに「[増加する数値] 件のメールジョブが失敗しました。app.yml を確認し、メールサーバーの設定が正しいことを確認してください。Sidekiq で失敗したジョブを確認してください。」というエラーで失敗するようです。
問題は、Docker サービスを再起動することで一時的に「解決」できます。メールフローが再開します。
メール設定が正しいことは確かです。Docker サービスを再起動すると、管理画面 → メール → サーバー設定とログ → 設定にアクセスしてメールを送信できます。
失敗すると、送信できません。
Fastserver-app の再起動のために Sidekiq が過剰なメモリ (5xxM を使用) を消費しているというログがたくさん見られます。
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'
また、Job exception: no address for 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 を使用しています。
何かヒントがあれば教えてください!