Eccezione di lavoro: Holidays::InvalidRegion

Sono nuovo alla risoluzione dei problemi di Discourse, quindi non sono sicuro da dove iniziare.\n\nÈ iniziato circa un mese fa. Ora ho 4347 istanze di 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\nNon abbiamo modificato il plugin discourse-calendar.\n\nQualcuno può iniziare a indicarmi la direzione giusta?

Questo è probabilmente dovuto a un recente aggiornamento delle definizioni delle festività, che potrebbe aver causato la modifica dell’elenco delle regioni generate senza aggiornare le preferenze esistenti di Regione calendario degli utenti.

L’errore si verifica per gli utenti che in precedenza avevano selezionato una delle regioni ora rimosse come Regione calendario.

Stai riscontrando molte istanze dell’eccezione perché il processo pianificato che la attiva viene eseguito ogni 10 minuti.

Dovremo gestire questo aspetto in modo più efficiente, tenendo conto degli aggiornamenti delle definizioni delle festività che rimuovono regioni dall’elenco delle regioni generate.

1 Mi Piace

Interessante! Posso dire che la nostra base di utenti è eccezionalmente internazionale, quindi potrebbe avere senso.

Posso presumere correttamente che 1) non ci sia nulla che io possa fare al riguardo e 2) non abbia molta importanza? O devo segnalare un bug?

Grazie

Ho spostato questo argomento in Contribute > Bug, quindi non c’è bisogno di creare un altro report.

Dato che non abbiamo effettivamente rimosso alcuna regione principale qui, sospetto che il problema sia legato alle definizioni delle regioni a livello di stato o territorio, simile a quanto vedi di seguito per gli Stati Uniti:

Il cambiamento è probabilmente avvenuto tra questi due commit:

Questo dipende dal tuo livello di confidenza nell’esplorare i componenti interni. Dovrai:

  1. Identificare gli utenti che hanno impostato la preferenza Regione del calendario.
  2. Verificare quali di questi valori non sono presenti nell’elenco attuale delle regioni valide:
    REGIONS.rb
  3. Aggiornare le preferenze regionali di questi utenti a una regione di primo livello valida. Ad esempio, un’impostazione come Stati Uniti (us_id) dovrebbe diventare Stati Uniti.

Invece, ha importanza se il tuo sito utilizza eventi del calendario festivo. Per gli utenti interessati, non verranno generati eventi festivi finché la loro Regione del calendario non sarà corretta.

2 Mi Piace

Grazie! Apprezzo il tuo aiuto.

Stavo indagando sullo stesso problema perché abbiamo avuto un picco di errori per la nostra istanza interna di discourse, quindi l’ho risolto :wink:

3 Mi Piace

Magnifico! Grazie.