واجهت الكثير من أخطاء "فشل في استكمال شارة 'Reader'"

لدينا الكثير من هذه الأخطاء في السجل. هل هناك شيء يمكننا/يجب علينا فعله؟

معلومات:

خطأ في المهمة: فشل في إعادة تعبئة شارة ‘Reader’: {:revoked_callback=>#<Proc:0x00007867ef8d9620 /var/www/discourse/app/jobs/regular/backfill_badge.rb:20 (lambda)>, :granted_callback=>#<Proc:0x00007867ef8d95f8 /var/www/discourse/app/jobs/regular/backfill_badge.rb:21 (lambda)>}. السبب: خطأ: إلغاء العبارة بسبب انتهاء مهلة العبارة

التتبع:

/var/www/discourse/app/services/badge_granter.rb:505:in `rescue in backfill'
/var/www/discourse/app/services/badge_granter.rb:385:in `backfill'
/var/www/discourse/app/jobs/regular/backfill_badge.rb:18: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'
sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'
sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/discourse_event.rb:6:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:131:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'
sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'
sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'
sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'
sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'
sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'
sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'
sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'
sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'
sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'
sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'
إعجاب واحد (1)

هل يمكن أن يكون هذا مشكلة تتعلق بموضوع كبير بشكل خاص؟ هل لديك أي مواضيع ضخمة قد تشكل عبئًا عليه؟

إذا كانت وظيفة منح الشارة محظورة تمامًا بسبب ذلك، فقد يكون من المفيد تعطيل شارة القارئ مؤقتًا ومعرفة ما إذا كان ذلك سيساعد.


لقد وجدت هذا بخصوص مشكلة تبدو مشابهة: (على الرغم من أنها قديمة جدًا)

لذا، قد يكون الاستعلام أكثر من اللازم بالنسبة لمواصفاتك؟

إعجاب واحد (1)

ليس لدينا موضوع رئيسي. على الأقل، لست على علم بذلك. إذا كان هناك أمر SQL يمكنني تشغيله والتحقق منه، فسيكون رائعًا.
لدينا معالج مركزي من 32 نواة و128 جيجابايت من الذاكرة العشوائية.. لست متأكدًا إذا كانت هذه مشكلة قيود. إذا كان هناك شيء يجب أن أغيره في قاعدة البيانات، فالرجاء إعلامي.

إعجابَين (2)

أعتقد أنه إذا كان لديك واحد، فمن المحتمل أن تعرف، ولكن يمكنك تحويل قائمة /latest الخاصة بك إلى ترتيب النشاط للتحقق مرة أخرى باستخدام عنوان العمود أو باستخدام YourSite/latest?order=posts.

ولكن شيئًا كهذا في مستكشف البيانات يجب أن يظهر لك أفضل 10:

SELECT id AS topic_id
FROM topics
ORDER BY posts_count DESC
LIMIT 10

SQL لشارة القارئ موجود هنا:

شارة القارئ ليست بالضرورة واحدة من أكثر الشارات إثارة، لذلك إذا كان بإمكانك التعايش مع تعطيلها وأن هذا يصلح كل شيء، فقد يكون هذا هو الحل الأسهل. ولكن إذا كنت ترغب في استكشافها بشكل أكبر، أعتقد أنك قد ترغب في النظر إلى جدول post_timings الخاص بك لمعرفة مدى كبر حجمه.

إعجابَين (2)

رأيت موضوعًا ضخمًا يتعلق بزوج من المواضيع. لكننا حددنا الحد الأقصى بـ 10,000 رد وتقسيمها.

سأعطله الآن. ولكن إليك أمر rake db:stats

table_name                                       | row_estimate | table_size | index_size | total_size
-----------------------------------------------------------------------------------------------
post_timings                                     | 1707169280   | 70 GB      | 61 GB      | 132 GB
topic_views                                      | 243936880    | 11 GB      | 15 GB      | 26 GB
user_auth_token_logs                             | 98783264     | 23 GB      | 2775 MB    | 25 GB
إعجابَين (2)

يبدو هذا بالفعل كبيرًا. :slight_smile:

في حال لم تقم بذلك في ذلك الوقت (اعتمادًا على عمر منتداك)، كانت هناك هذه النصيحة المقدمة في PostgreSQL 13 update

للأسف، ليس لدي أي خبرة مباشرة في هذا الأمر، لذا قد نحتاج إلى انتظار شخص ذكي للظهور لتعمق أكبر. :nerd_face:

إعجاب واحد (1)

نعم. قمت بذلك عندما قمت بترقية PostgreSQL إلى الإصدار 13. كما قمت بتشغيله البارحة. لكن حجم قاعدة البيانات لم يتغير.

آمل أن يتمكن شخص آخر من إبداء رأيه حول كيفية تقليل الحجم.

شكرًا لك على الرغم من ذلك!

إعجابَين (2)