Je suis nouveau dans le dépannage de Discourse, je ne suis donc pas sûr par où commencer.\n\nCela a commencé il y a environ un mois. J’ai maintenant 4347 occurrences de 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\nNous n’avons pas modifié le plugin discourse-calendar.\n\nQuelqu’un peut-il m’indiquer la bonne direction ?
Ceci est probablement dû à une mise à jour récente des définitions de jours fériés, qui a pu entraîner la modification de la liste des régions générées sans mettre à jour les préférences existantes des utilisateurs en matière de Région du calendrier.
L’erreur se produit pour les utilisateurs qui avaient précédemment sélectionné l’une des régions désormais supprimées comme Région du calendrier.
Vous constatez de nombreuses occurrences de l’exception car la tâche planifiée qui déclenche cela s’exécute toutes les 10 minutes.
Nous devrons gérer cela de manière plus élégante, en tenant compte des mises à jour des définitions de jours fériés qui suppriment des régions de la liste des régions générées.
Intéressant ! Je peux dire que notre base d’utilisateurs est exceptionnellement internationale, donc cela pourrait avoir du sens.
Ai-je raison de supposer que 1) je ne peux rien faire à ce sujet et 2) cela n’a pas vraiment d’importance ? Ou dois-je faire un rapport de bug ?
Merci
J’ai déplacé ce sujet vers Bug, il n’est donc pas nécessaire de faire un autre rapport.
Puisque nous n’avons en fait supprimé aucune région majeure ici, je soupçonne que le problème est lié aux définitions de régions au niveau de l’État ou du territoire, similaires à ce que vous voyez ci-dessous pour les États-Unis :

Le changement s’est très probablement produit entre ces deux commits :
- https://github.com/discourse/discourse/commit/eabbac18cf786541268941191bffbd3070b8ee46
- https://github.com/discourse/discourse/commit/1983a448126b36548c4cb2f60b4eeae554832cc5
Cela dépend de votre niveau de confort avec l’exploration des détails internes. Vous devrez :
- Identifier les utilisateurs qui ont une préférence Région du calendrier définie.
- Vérifier quelles valeurs ne figurent pas dans la liste actuelle des régions valides :
REGIONS.rb - Mettre à jour les préférences de région de ces utilisateurs avec une région de premier niveau valide. Par exemple, un paramètre de préférence comme
United States (us_id)devrait devenirUnited States
Si votre site utilise des événements de calendrier de jours fériés, cela a de l’importance. Pour les utilisateurs concernés, aucun événement de jour férié ne sera généré tant que leur Région du calendrier ne sera pas corrigée.
Merci ! J’apprécie votre aide.
J’enquêtais sur le même problème car nous avons eu une augmentation des erreurs pour notre instance Discourse interne, je l’ai donc corrigé ![]()
Merveilleux ! Merci.