Merge pull request #9551 from colinux/etablissement-consolidate-task

Tech: tâche consolidant les établissements en mode dégradé d'une démarche donnée
This commit is contained in:
Colin Darie 2023-10-03 11:02:28 +00:00 committed by GitHub
commit 1d0054c38e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,44 @@
require Rails.root.join("lib", "tasks", "task_helper")
namespace :etablissement do
desc 'Immediately consolidate etablissements in degraded mode for a given procedure id'
task update_from_degraded_mode: :environment do
procedure_id = ENV.fetch("PROCEDURE_ID")
# Logic from BackfillSiretDegradedModeJob
# but without the wait of all dossiers queue.
rake_puts "Consolidate dossiers"
etablissements = Etablissement.joins(dossier: :revision).where(adresse: nil, dossier: { procedure_revisions: { procedure_id: } })
progress = ProgressReport.new(etablissements.count)
etablissements.find_each do |etablissement|
begin
APIEntrepriseService.update_etablissement_from_degraded_mode(etablissement, procedure_id)
rescue => e
Sentry.capture_exception(e)
rake_puts "Etablissement ##{etablissement.id}: #{e.message}"
end
progress.inc
end
progress.finish
rake_puts "Consolidate champs SIRET"
etablissements = Etablissement.joins(champ: { dossier: :revision }).where(adresse: nil, champ: { procedure_revisions: { procedure_id: } })
progress = ProgressReport.new(etablissements.count)
etablissements.find_each do |etablissement|
begin
APIEntrepriseService.update_etablissement_from_degraded_mode(etablissement, procedure_id)
rescue => e
Sentry.capture_exception(e)
rake_puts "Etablissement ##{etablissement.id}: #{e.message}"
end
progress.inc
end
progress.finish
end
end