chore(doc): more information about many maintenance tasks

This commit is contained in:
Colin Darie 2024-09-30 09:26:46 +02:00
parent 0d5b0e81e7
commit 9eb9e80232
No known key found for this signature in database
GPG key ID: 4FB865FDBCA4BCC4
28 changed files with 82 additions and 3 deletions

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class BackfillBulkMessagesWithProcedureIdTask < MaintenanceTasks::Task class BackfillBulkMessagesWithProcedureIdTask < MaintenanceTasks::Task
# Périmètre: envoi dun email groupé aux usagers ayant dossiers en brouillon.
# Change la manière dont ces messages sont liés aux démarches.
# 2024-03-12-01 PR #10071
def collection def collection
BulkMessage BulkMessage
.where(procedure: nil) .where(procedure: nil)

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class BackfillCityNameTask < MaintenanceTasks::Task class BackfillCityNameTask < MaintenanceTasks::Task
# corrige des données du champ adresse suite à un bug
# introduit pendant quelques jours début mars
# 2024-04-09-02 PR #10290
attribute :champ_ids, :string attribute :champ_ids, :string
validates :champ_ids, presence: true validates :champ_ids, presence: true

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class BackfillClonedChampsPrivatePieceJustificativesTask < MaintenanceTasks::Task class BackfillClonedChampsPrivatePieceJustificativesTask < MaintenanceTasks::Task
# Supprime les PJ dannotations privées
# qui étaient conservées par erreur lorsquun dossier était cloné
# 2024-05-27-01 PR #10435
def collection def collection
Dossier.en_brouillon.where.not(parent_dossier_id: nil) Dossier.en_brouillon.where.not(parent_dossier_id: nil)
end end

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class BackfillClosingReasonInClosedProceduresTask < MaintenanceTasks::Task class BackfillClosingReasonInClosedProceduresTask < MaintenanceTasks::Task
# Remet les messages de cloture d'une démarche proprement (sinon affichage KO).
# Suite de UpdateClosingReasonIfNoReplacedByIdTask
# 2024-05-27-01 PR #9930
def collection def collection
Procedure Procedure
.with_discarded .with_discarded

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class BackfillCommuneCodeFromNameTask < MaintenanceTasks::Task class BackfillCommuneCodeFromNameTask < MaintenanceTasks::Task
# corrige structure champs commune pour une démarche donnée. Suite à un bug ?
# 2024-05-31-01 PR #10469
attribute :procedure_id, :string attribute :procedure_id, :string
validates :procedure_id, presence: true validates :procedure_id, presence: true

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class BackfillDepartementServicesTask < MaintenanceTasks::Task class BackfillDepartementServicesTask < MaintenanceTasks::Task
# Fait le lien service département pour permettre
# le filtrage des démarches par département
# 2023-10-30-01 PR #9647
def collection def collection
Service.where.not(etablissement_infos: nil) Service.where.not(etablissement_infos: nil)
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class BackfillDeposeAtOnDeletedDossiersTask < MaintenanceTasks::Task class BackfillDeposeAtOnDeletedDossiersTask < MaintenanceTasks::Task
# Améliore les stats à propos des dates de dépôts pour les dossiers supprimés
# 2024-04-05-01 PR #10259
def collection def collection
DeletedDossier.where(depose_at: nil) DeletedDossier.where(depose_at: nil)
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class BackfillEffectifAnnuelAnneeTask < MaintenanceTasks::Task class BackfillEffectifAnnuelAnneeTask < MaintenanceTasks::Task
# API entreprise: rattrape les informations d'effectif
# 2024-05-27-01 PR #10053
def collection def collection
Etablissement.where.not(entreprise_effectif_annuel: nil).where(entreprise_effectif_annuel_annee: nil) Etablissement.where.not(entreprise_effectif_annuel: nil).where(entreprise_effectif_annuel_annee: nil)
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class BackfillInvalidDossiersForTiersTask < MaintenanceTasks::Task class BackfillInvalidDossiersForTiersTask < MaintenanceTasks::Task
# Corrige les dossiers declarés pour un tiers mais sans avoir renseigné les infos du tiers
# 2024-05-22-01
def collection def collection
Dossier.where(for_tiers: true).where(mandataire_first_name: nil) Dossier.where(for_tiers: true).where(mandataire_first_name: nil)
end end

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class CreatePreviewsForPjOfLatestDossiersTask < MaintenanceTasks::Task class CreatePreviewsForPjOfLatestDossiersTask < MaintenanceTasks::Task
# Génère les vignettes de PJ existantes pour les dossiers déposés entre 2 dates (facultatif)
# Elles sont affichées dans le nouvel onglet "Pièces jointes" des instructeurs.
# 2024-07-11-01
attribute :start_text, :string attribute :start_text, :string
validates :start_text, presence: true validates :start_text, presence: true

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class CreateVariantsForPjOfLatestDossiersTask < MaintenanceTasks::Task class CreateVariantsForPjOfLatestDossiersTask < MaintenanceTasks::Task
# Génère les vignettes de fichiers PDF pour les dossiers déposés entre 2 dates (facultatif)
# Elles sont affichées dans le nouvel onglet "Pièces jointes" des instructeurs.
# 2024-07-11-01
attribute :start_text, :string attribute :start_text, :string
validates :start_text, presence: true validates :start_text, presence: true

View file

@ -2,10 +2,10 @@
module Maintenance module Maintenance
class DeleteDraftRevisionTypeDeChampsTask < MaintenanceTasks::Task class DeleteDraftRevisionTypeDeChampsTask < MaintenanceTasks::Task
csv_collection # Modifie le form dune démarche à partir dun CSV (dev spécifique Fonds Verts).
# See UpdateDraftRevisionTypeDeChampsTask for more information # See UpdateDraftRevisionTypeDeChampsTask for more information
# Just add delete_flag with "true" to effectively remove the type de champ from the draft. # Just add delete_flag with "true" in CSV to effectively remove the type de champ from the draft.
csv_collection
def process(row) def process(row)
return unless row["delete_flag"] == "true" return unless row["delete_flag"] == "true"

View file

@ -2,6 +2,10 @@
module Maintenance module Maintenance
class DestroyIncompleteBulkMessagesTask < MaintenanceTasks::Task class DestroyIncompleteBulkMessagesTask < MaintenanceTasks::Task
# Périmètre: envoi dun email groupé aux usagers ayant dossiers en brouillon.
# Change la manière dont ces messages sont liés aux démarches.
# Suite de BackfillBulkMessagesWithProcedureIdTask
# 2024-03-12-01 PR #10071
def collection def collection
BulkMessage.where(procedure: nil).where.missing(:groupe_instructeurs) BulkMessage.where(procedure: nil).where.missing(:groupe_instructeurs)
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class DestroyProcedureWithoutAdministrateurAndWithoutDossierTask < MaintenanceTasks::Task class DestroyProcedureWithoutAdministrateurAndWithoutDossierTask < MaintenanceTasks::Task
# suppression de procédures closes sans admin et sans dossier
# 2024-03-18-01 PR #10125
def collection def collection
Procedure.with_discarded.where.missing(:administrateurs, :dossiers) Procedure.with_discarded.where.missing(:administrateurs, :dossiers)
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class DisableRemainingInvalidMonAvisTask < MaintenanceTasks::Task class DisableRemainingInvalidMonAvisTask < MaintenanceTasks::Task
# Supprime les codes dintégration « mon avis » invalides
# 2024-03-18-01 PR #10120
def collection def collection
# rubocop:disable DS/Unscoped # rubocop:disable DS/Unscoped
Procedure.unscoped.where.not(monavis_embed: nil) Procedure.unscoped.where.not(monavis_embed: nil)

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class FixDecimalNumberWithSpacesTask < MaintenanceTasks::Task class FixDecimalNumberWithSpacesTask < MaintenanceTasks::Task
# normalise les champs nombres en y supprimant les éventuels espaces
# 2024-07-01-01 PR #10554
ANY_SPACES = /[[:space:]]/ ANY_SPACES = /[[:space:]]/
def collection def collection
Champs::DecimalNumberChamp.where.not(value: nil) Champs::DecimalNumberChamp.where.not(value: nil)

View file

@ -2,6 +2,10 @@
module Maintenance module Maintenance
class FixDureeConservationGreaterThanMaxDureeConservationTask < MaintenanceTasks::Task class FixDureeConservationGreaterThanMaxDureeConservationTask < MaintenanceTasks::Task
# Corrige la durée de conservation des dossiers :
# pour toutes les démarches dont la durée de conservation est supérieure
# à celle de l'instance, on prend la durée max de DS (12 mois)
# 2024-05-27-01 PR #10107
def collection def collection
Procedure.where('duree_conservation_dossiers_dans_ds > max_duree_conservation_dossiers_dans_ds') Procedure.where('duree_conservation_dossiers_dans_ds > max_duree_conservation_dossiers_dans_ds')
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class FixOpenProceduresWithClosingReasonTask < MaintenanceTasks::Task class FixOpenProceduresWithClosingReasonTask < MaintenanceTasks::Task
# Corrige des démarches avec un motif de fermerture alors quelles ont été publiées
# 2024-05-27-01 PR #10181
def collection def collection
Procedure Procedure
.with_discarded .with_discarded

View file

@ -2,6 +2,10 @@
module Maintenance module Maintenance
class MoveDolToColdStorageTask < MaintenanceTasks::Task class MoveDolToColdStorageTask < MaintenanceTasks::Task
# Opération de rattrapage suite à un cron qui ne fonctionnait plus.
# Permet de déplacer toutes les traces fonctionnelles (DossierOperationLog)
# vers le stockage object plutot que de les conserver en BDD
# 2024-04-15-01
attribute :start_text, :string attribute :start_text, :string
validates :start_text, presence: true validates :start_text, presence: true

View file

@ -2,6 +2,11 @@
module Maintenance module Maintenance
class RecomputeBlobChecksumTask < MaintenanceTasks::Task class RecomputeBlobChecksumTask < MaintenanceTasks::Task
# Avant février 2024, les filigranes ont corrompu les hash des fichiers.
# Régulièrement, des dossiers en brouillon étaient déposés avec ce problème
# (on retrouve les fichiers corrompu dans l'onglet retry de sidekiq).
# Cette tache recalcule les hashes.
# 2024-05-27-01
attribute :blob_ids, :string attribute :blob_ids, :string
validates :blob_ids, presence: true validates :blob_ids, presence: true

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class SamsungBrowserIsSupportedTask < MaintenanceTasks::Task class SamsungBrowserIsSupportedTask < MaintenanceTasks::Task
# Corrige une donnée si le navigateur utilisé
# dans lhistorique des Traitements des dossiers
# 2024-02-21-01
def collection def collection
Traitement.where(browser_name: 'Samsung Browser', browser_version: 12..) Traitement.where(browser_name: 'Samsung Browser', browser_version: 12..)
end end

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class SpreadDossierDeletionTask < MaintenanceTasks::Task class SpreadDossierDeletionTask < MaintenanceTasks::Task
# Contourne un égorgement de suppression de millions de dossiers qui aurait eu lieu le même jour
# 2024-05-27-01 PR #10062
ERROR_OCCURED_AT = Date.new(2024, 2, 14) ERROR_OCCURED_AT = Date.new(2024, 2, 14)
ERROR_OCCURED_RANGE = ERROR_OCCURED_AT.at_midnight..(ERROR_OCCURED_AT + 1.day) ERROR_OCCURED_RANGE = ERROR_OCCURED_AT.at_midnight..(ERROR_OCCURED_AT + 1.day)
SPREAD_DURATION_IN_DAYS = 150 SPREAD_DURATION_IN_DAYS = 150

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class UpdateClosingReasonIfNoReplacedByIdTask < MaintenanceTasks::Task class UpdateClosingReasonIfNoReplacedByIdTask < MaintenanceTasks::Task
# Remet les messages de cloture d'une démarche proprement (sinon affichage KO).
# Avant BackfillClosingReasonInClosedProceduresTask
# 2024-03-21-01 PR #10158
def collection def collection
Procedure Procedure
.with_discarded .with_discarded

View file

@ -2,6 +2,10 @@
module Maintenance module Maintenance
class UpdateConditionsBasedOnCommuneOrEpciChampTask < MaintenanceTasks::Task class UpdateConditionsBasedOnCommuneOrEpciChampTask < MaintenanceTasks::Task
# Met à jour les conditions et règles de routage
# pour les champs communes et ECPI suite à l'ajout de nouveaux opérateurs
# Voir aussi UpdateRoutingRulesBasedOnCommuneOrEpciChampTask
# 2023-12-20-01 PR #9850
include Logic include Logic
def collection def collection

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class UpdateDraftRevisionTypeDeChampsTask < MaintenanceTasks::Task class UpdateDraftRevisionTypeDeChampsTask < MaintenanceTasks::Task
# Modifie le form dune démarche à partir dun CSV (dev pour les Fonds Verts)
csv_collection csv_collection
# CSV structure: # CSV structure:

View file

@ -2,6 +2,10 @@
module Maintenance module Maintenance
class UpdateRoutingRulesBasedOnCommuneOrEpciChampTask < MaintenanceTasks::Task class UpdateRoutingRulesBasedOnCommuneOrEpciChampTask < MaintenanceTasks::Task
# Ces 2 tâches mettent à jour les conditions et règles de routage
# pour les champs communes et ECPI suite à l'ajout de nouveaux opérateurs
# Voir aussi UpdateConditionsBasedOnCommuneOrEpciChampTask
# 2023-12-20-01 PR #9850
include Logic include Logic
def collection def collection

View file

@ -2,6 +2,9 @@
module Maintenance module Maintenance
class UpdateServiceEtablissementInfosTask < MaintenanceTasks::Task class UpdateServiceEtablissementInfosTask < MaintenanceTasks::Task
# Géocode les services à partir des établissements
# 2024-05-27-01 PR #10106
# No more 20 geocoding by 10 seconds window # No more 20 geocoding by 10 seconds window
THROTTLE_LIMIT = 20 THROTTLE_LIMIT = 20
THROTTLE_PERIOD = 10.seconds THROTTLE_PERIOD = 10.seconds

View file

@ -2,6 +2,8 @@
module Maintenance module Maintenance
class UpdateZonesTask < MaintenanceTasks::Task class UpdateZonesTask < MaintenanceTasks::Task
# Synchronise les zones en base à partir du fichier de config zones.yml
# 2024-05-27-01 PR #10077
def collection def collection
config = Psych.safe_load(Rails.root.join("config", "zones.yml").read) config = Psych.safe_load(Rails.root.join("config", "zones.yml").read)
config['ministeres'] config['ministeres']