أنا جديد في استكشاف أخطاء 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) لا يوجد شيء يمكنني فعله حيال ذلك و 2) أنه لا يهم كثيرًا؟ أم أحتاج إلى تقديم تقرير خطأ؟
شكرًا
لقد نقلت هذا الموضوع إلى #contribute:bug، لذا لا داعي لتقديم تقرير آخر.
بما أننا لم نقم بإزالة أي مناطق رئيسية هنا، فأعتقد أن المشكلة تتعلق بتعريفات المناطق على مستوى الولاية أو الإقليم، مشابهة لما تراه أدناه للولايات المتحدة:
على الأرجح حدث التغيير بين هاتين Commitين:
- FEATURE: Update US Holidays (#34558) · discourse/discourse@eabbac1 · GitHub
- CHORE: Import holiday definition updates. (#34835) · discourse/discourse@1983a44 · GitHub
هذا يعتمد على مستوى راحتك في استكشاف المكونات الداخلية. ستحتاج إلى:
- تحديد المستخدمين الذين لديهم تفضيل منطقة التقويم مضبوطًا.
- التحقق من القيم التي ليست ضمن القائمة الحالية للمناطق الصالحة:
REGIONS.rb - تحديث تفضيلات المنطقة لهؤلاء المستخدمين لتصبح منطقة من المستوى الأول صالحة. على سبيل المثال، يجب أن يتحول الإعداد التفضيلي مثل
United States (us_id)إلىUnited States
يهم الأمر إذا كان موقعك يستخدم أحداث التقويم الخاصة بالعطلات. بالنسبة للمستخدمين المتأثرين، لن يتم إنشاء أي أحداث عطلة حتى يتم إصلاح منطقة التقويم لديهم.
شكرا لك! أقدر مساعدتك.
كنت أبحث في نفس المشكلة لأننا شهدنا زيادة في الأخطاء في مثيل الخطاب الداخلي الخاص بنا، لذلك قمت بإصلاحها ![]()
رائع! شكراً لك.
