# 8.2.16.4. Description

Ce module se compose de jobs quartz pouvant être activés au besoin grâce à la configuration d’Ansible.

- AuditObjectJob
- AuditDataConsistencyMongoEsJob
- IdentityExpirationJob
- MetadataReconstructionJob
- OfferLogCompactionJob
- PersistentIdentifierReconstructionJob
- ProcessObsoleteComputedInheritedRulesJob
- PurgeDipJob
- PurgeSipJob
- ReconstructionAccessionRegisterJob
- ReconstructionOperationJob
- ReconstructionReferentialJob
- ReferentialCreateSymblolicAccessionRegisterJob
- RuleManagementAuditJob
- StorageBackupLogJob
- StorageLogTraceabilityJob
- StoreGraphJob
- TraceabilityAuditJob
- TraceabilityJob
- TraceabilityLFCJob

Les détails de ces jobs sont expliqués ci-dessous.

## 8.2.16.4.1. Jobs quartz

Les jobs du planificateur s’activent automatiquement selon la configuration souhaitée.

Prudence

Attention, il faut que le délai d’exécution du job soit supérieur à `org.quartz.scheduler.idleWaitTime`, qui est réglé à 30 secondes par défaut.

Si le délai d’exécution a été réglé par erreur à une valeur inférieure, il peut arriver qu’il soit impossible de changer le délai d’exécution à une valeur correcte. Dans ce cas, la procédure à suivre est de mettre les jobs en pause (`PUT http://<host>:<port admin>/scheduler/v1/pause/ALL`), attendre au minimum 30 secondes, puis réinitialiser les jobs (`POST http://<host>:<port admin>/scheduler/v1/jobs`)

### 8.2.16.4.1.1. AuditObjectJob.java

Ce job lance le workflow d’audit d’intégrité et/ou d’existence à travers la configuration auditType. Le job d’intégrité se déclenche toutes les 4 heures, en commençant à 00:30. Le job d’existence se déclenche toutes les 4 heures, en commençant à 00:50.

Ce job prend deux paramètres :

- operationsDelayInMinutes : permet de ne pas prendre les données fraîchement enregistrées.
- **selectedTenants: une liste de tenants sur lesquels l’audit sera lancé.
- auditType : prend l’une des valeurs Existence ou Integrity.

### 8.2.16.4.1.2. AuditDataConsistencyMongoEsJob.java

Ce job permet de vérifier et corriger les incohérences entre MongoDB et Elasticsearch.

### 8.2.16.4.1.3. IdentityExpirationJob.java

Ce job vérifie s’il y a des certificats qui vont expirer. Il est programmé par défaut pour s’exécuter chaque jour à minuit.

### 8.2.16.4.1.4. MetadataReconstructionJob.java

Ce job facilite la reconstruction depuis l’offre vers MongoDB et Elasticsearch sur un site secondaire. On peut le programmer à travers la valeur `vitam_timers.metadata.frequency_reconstruction`, et par défaut, il se lance chaque 5 minutes.

### 8.2.16.4.1.5. OfferLogCompactionJob.java

Ce job gère la compaction des journaux de chaque offre et ne se lance que sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.offer.frequency_offerlog_compaction`, et par défaut, il se lance toutes les 30 minutes, en commençant à la 10e minute de l’heure.

### 8.2.16.4.1.6. PersistentIdentifierReconstructionJob.java

Ce job facilite la reconstruction des identifiants persistants. On peut le programmer à travers la valeur `vitam_timers.metadata.frequency_persistent_identifier_reconstruction`, par défaut, il est désactivé.

### 8.2.16.4.1.7. ProcessObsoleteComputedInheritedRulesJob.java

Ce job s’occupe du traitement des règles calculées ou héritées devenues obsolètes et ne se lance que sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.metadata.frequency_computed_inherited_rules`, par défaut, il se lance chaque jour à 2h30 du matin.

### 8.2.16.4.1.8. PurgeDipJob.java

Ce job effectue la purge des anciens DIP et ne se lance que sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.metadata.frequency_purge_dip`, par défaut, il se lance chaque heure.

### 8.2.16.4.1.9. PurgeSipJob.java

Ce job effectue la purge des anciens SIP et ne se lance que sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.metadata.frequency_purge_transfers_sip`, par défaut, il se lance chaque matin à 2h25.

### 8.2.16.4.1.10. ReconstructionAccessionRegisterJob.java

Ce job permet de faire la reconstruction des données concernant AccessionRegisterSymbolic et AccessionRegisterDetail portées par le composant functional-administration uniquement sur le site secondaire. On peut le programmer à travers la valeur `vitam_timers.functional_administration.frequency_accession_register_reconstruction`, par défaut, il se lance chaque 5min.

### 8.2.16.4.1.11. ReconstructionOperationJob.java

Ce job permet de faire la reconstruction des opérations depuis l’offre et logbook et ne se lance que sur le site secondaire. On peut le programmer à travers la valeur `vitam_timers.logbook.frequency_logbook_reconstruction`, par défaut, il se lance chaque 5min.

### 8.2.16.4.1.12. ReconstructionReferentialJob.java

Ce job permet de faire la reconstruction des données portées par le composant functional-administration uniquement sur le site secondaire. On peut le programmer à travers la valeur `vitam_timers.functional_administration.frequency_reconstruction`, par défaut, il se lance chaque 5min.

### 8.2.16.4.1.13. ReferentialCreateSymblolicAccessionRegisterJob.java

Ce job permet de déclencher une commande qui va calculer le registre des fonds symbolique et les ajoute dans les bases de données uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.functional_administration.frequency_create_accession_register_symbolic`, par défaut, il se lance chaque 5min.

### 8.2.16.4.1.14. RuleManagementAuditJob.java

Ce job permet de faire la validation de la cohérence des règles de gestion entre les offres de stockage et les bases de données uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.functional_administration.frequency_rule_management_audit`, par défaut, il se lance chaque jour, à 40 minutes passées de chaque heure.

### 8.2.16.4.1.15. StorageBackupLogJob.java

Ce job effectue la sauvegarde des journaux d’accès et des journaux d’écriture uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.storage.vitam_storage_accesslog_backup`, par défaut, il se lance toutes les 4 heures, en commençant à minuit et 10 minutes.

### 8.2.16.4.1.16. StorageLogTraceabilityJob.java

Ce job assure la sécurisation des opérations de stockage uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.storage.frequency_traceability_log`, par défaut, il se lance toutes les 4 heures, en commençant à minuit et 40 minutes.

### 8.2.16.4.1.17. StoreGraphJob.java

Ce job permet la sauvegrade des graphs sur l’offre uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.metadata.frequency_store_graph`, par défaut, il se lance toutes les 30 minutes, en commençant à la 10e minute de chaque heure.

### 8.2.16.4.1.18. TraceabilityAuditJob.java

Ce job vérifie s’il y a eu une traçabilité au cours de la dernière période uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.logbook.frequency_traceability_audit`, par défaut, il se lance à 00:55 chaque jour. Ce job prend 4 paramètres :

> - operationTraceabilityMaxRenewalDelay
> - operationTraceabilityMaxRenewalDelayUnit
> - lifecycleTraceabilityMaxRenewalDelay
> - lifecycleTraceabilityMaxRenewalDelayUnit

### 8.2.16.4.1.19. TraceabilityJob.java

Ce job sécurise les opérations dans le logbook uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.logbook.frequency_traceability_operations`, par défaut, il se lance toutes les heures, à la 5e minute de chaque heure.

### 8.2.16.4.1.20. TraceabilityLFCJob.java

Ce job sécurise les événements du cycle de vie dans le logbook uniquement sur le site primaire. On peut le programmer à travers la valeur `vitam_timers.logbook.frequency_traceability_lfc_objectgroup`, par défaut, il se lance toutes les heures, à la 15e minute de chaque heure.