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 Bug, quindi non è necessario creare un altro report.

Poiché in realtà non abbiamo rimosso alcuna regione principale qui, sospetto che il problema sia correlato a definizioni di regioni a livello di stato o territorio simili a quelle che vedi di seguito per gli Stati Uniti:

La modifica è avvenuta molto probabilmente tra questi due commit:

Dipende dal tuo livello di comfort nell’esplorare gli interni. Dovrai:

  1. Identificare gli utenti che hanno impostata una preferenza per la Regione del calendario.
  2. Verificare quali di quei valori non sono nell’elenco corrente di regioni valide:
    REGIONS.rb
  3. Aggiornare le preferenze di regione di quegli utenti a una regione di primo livello valida. Ad esempio, un’impostazione di preferenza come United States (us_id) dovrebbe diventare United States

Ha importanza se il tuo sito utilizza eventi del calendario delle festività. Per gli utenti interessati, nessun evento festivo verrà generato finché la loro Regione del calendario non verrà 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.