استثناء الوظيفة: Holidays::InvalidRegion

أنا جديد في استكشاف أخطاء Discourse وإصلاحها، لذلك لست متأكدًا من أين أبدأ في هذا.\n\nبدأ هذا منذ حوالي شهر. أنا الآن عند 4347 مثيلًا من Job exception: Holidays::InvalidRegion.\n\n\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays/finder/context/parse_options.rb:83:in `block in validate!'\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays/finder/context/parse_options.rb:82:in `each'\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays/finder/context/parse_options.rb:82:in `validate!'\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays/finder/context/parse_options.rb:41:in `parse_regions!'\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays/finder/context/parse_options.rb:20:in `call'\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays/finder/context/between.rb:14:in `call'\n/var/www/discourse/plugins/discourse-calendar/vendor/holidays/lib/holidays.rb:49:in `between'\n/var/www/discourse/plugins/discourse-calendar/app/services/discourse_calendar/holiday.rb:14:in `find_holidays_for'\n/var/www/discourse/plugins/discourse-calendar/jobs/scheduled/create_holiday_events.rb:68:in `block in execute'\n/var/www/discourse/plugins/discourse-calendar/jobs/scheduled/create_holiday_events.rb:66:in `each'\n/var/www/discourse/plugins/discourse-calendar/jobs/scheduled/create_holiday_events.rb:66:in `execute'\n/var/www/discourse/app/jobs/base.rb:318:in `block (2 levels) in perform'\nrails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'\nrails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'\n/var/www/discourse/app/jobs/base.rb:305:in `block in perform'\n/var/www/discourse/app/jobs/base.rb:301:in `each'\n/var/www/discourse/app/jobs/base.rb:301:in `perform'\n/var/www/discourse/app/jobs/base.rb:381:in `perform'\nmini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'\nmini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'\nmini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'\n\n\nenv\n\nhostname\tdiscourse-app\nprocess_id\t3072273\napplication_version\t66f53ac5b9c7fdcd53868ccabac310b13ffc8910\ncurrent_db\tdefault\ncurrent_hostname\tdiscourse.------------.net\njob\tDiscourseCalendar::CreateHolidayEvents\nproblem_db\tdefault\ntime\t2:53 pm\n\t\nopts\t\n\n\nلم نقم بتعديل المكون الإضافي discourse-calendar.\n\nهل يمكن لأحد أن يبدأ في توجيهي في الاتجاه الصحيح؟

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

يحدث الخطأ للمستخدمين الذين اختاروا سابقًا إحدى المناطق التي تمت إزالتها الآن كـ منطقة تقويم لهم.

سترى أن العديد من الحالات من الاستثناء تحدث لأن المهمة المجدولة التي تؤدي إلى تشغيل هذا تحدث كل 10 دقائق.

سنحتاج إلى التعامل مع هذا بشكل أكثر سلاسة، من خلال مراعاة تحديثات تعريفات العطلات التي تزيل المناطق من قائمة المناطق التي تم إنشاؤها.

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

مثير للاهتمام! يمكنني القول إن قاعدة المستخدمين لدينا دولية بشكل استثنائي، لذلك قد يكون هذا منطقيًا.

هل أفترض بشكل صحيح أن 1) لا يوجد شيء يمكنني فعله حيال ذلك و 2) أنه لا يهم كثيرًا؟ أم أحتاج إلى تقديم تقرير خطأ؟

شكرًا

لقد نقلت هذا الموضوع إلى #bug، لذلك لا داعي لتقديم تقرير آخر.

نظرًا لأننا لم نقم بإزالة أي مناطق رئيسية بالفعل هنا، أشك في أن المشكلة تتعلق بتعريفات المناطق على مستوى الولاية أو الإقليم، على غرار ما تراه أدناه للولايات المتحدة:

من المرجح أن التغيير قد حدث بين هذين الالتزامين:

هذا يعتمد على مستوى راحتك في استكشاف التفاصيل الداخلية. ستحتاج إلى:

  1. تحديد المستخدمين الذين لديهم تفضيل منطقة التقويم معين.
  2. التحقق من أي من هذه القيم غير موجودة في القائمة الحالية للمناطق الصالحة:
    REGIONS.rb
  3. تحديث تفضيلات المنطقة لهؤلاء المستخدمين إلى منطقة عليا صالحة. على سبيل المثال، يجب أن يصبح إعداد التفضيل مثل United States (us_id) هو United States

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

إعجابَين (2)

شكرا لك! أقدر مساعدتك.

كنت أبحث في نفس المشكلة لأننا شهدنا زيادة في الأخطاء في مثيل الخطاب الداخلي الخاص بنا، لذلك قمت بإصلاحها :wink:

3 إعجابات

رائع! شكراً لك.