Plusieurs options
- cron : script à maintenir, la machine hote doit être configurée
- k8s cronJob : script à maintenir, k8s à configurer
- Spring @Sceduled : tourne si serveur tourne, accès aux ressources de l'appli 👍
Multi-instances : il faut synchro sinon plusieurs exécutions se déclenchent
A condition d'avoir une ressource partagée entre les instances
- BDD (SQL / NoSQL)
- MessageQueue
- Cache
- FileSystem
- S3
Nous avons utilisé ShedLock dans notre projet
Avec TestContainers pour la DB
DB dans un conteneur local
Pour que les tests s'exécutent plus vite on conserve le même conteneur pour tous les tests et on delete les table métier entre chaque test
Pas les tables techniques, par exemple pour éviter de rejouer les scripts Liquibase
Anne-Sophie et moi on investigue sur un test qui s'exécute très bien tout seul mais échoue dans la suite de tests