Feature #10762
fermé
ne pas rejouer le script systématiquement 01-updateAttachmentsWithFileServer.groovy
Ajouté par David Lesimple il y a presque 6 ans.
Mis à jour il y a plus de 5 ans.
Description
A chaque mise à jour de build, le script est joué et lorsqu'il y a beaucoup de datas, le process dure plusieurs minutes pour rien, puisque tout a déjà été traité.
Il faudrait trouver un moyen pour détecter si la migration a déja été effectuée lors d'un build précédent.
Ceci va devenir problématique chez Akwel et leur To de données... (migration 5.15 -> 6 en cours)
- Statut changé de New à Feedback
Je te propose 3 solutions possibles en attendant :
- supprimer le fichier groovy (ou le déplacer autre part), le système liste les fichiers groovy dans le répertoire et les joue.
- mettre en commentaire l'intégralité du contenu du fichier
- vider le fichier
Yohann Chastagnier a écrit :
Je te propose 3 solutions possibles en attendant :
- supprimer le fichier groovy (ou le déplacer autre part), le système liste les fichiers groovy dans le répertoire et les joue.
- mettre en commentaire l'intégralité du contenu du fichier
- vider le fichier
Oui, ça fera l'affaire en attendant.
Pour info, 18 minutes pour traiter près de 800 Go de workspaces.
- Statut changé de Feedback à In progress...
- Statut changé de In progress... à Resolved
Désormais, une nouvelle propriété fait son apparition dans la variable globale settings
sous le nom de context
.
Cette propriété est un dictionnaire qui permet à chaque script Groovy d'enregistrer un paramètre de contexte d'exécution qui lui est propre sous la forme de clé/valeur :
settings.context = [:]
La propriété est ensuite sauvegardée dans le fichier SILVERPEAS_HOME/configuration/.context
ce qui permet aux scripts de pouvoir retrouver leurs paramètres à chaque exécution et adapté leur comportement en fonction.
Avec cette nouvelle propriété, le script 01-updateAttachmentsWithFileServer.groovy
positionne un paramètre de contexte qui lui permet d'indiquer qu'il a traité la mise à jour des anciens liens vers les fichiers joints dans les WYSIWYG. A la prochaine exécution, il vérifie ce paramètre afin de décider s'il doit ou non exécuter sa tâche :
...
final String myContext = 'Old FileServer Links'
if (Files.exists(workspacePath) && Files.isDirectory(workspacePath) &&
settings.context[myContext] != 'done') {
...
settings.context[myContext] = 'done'
}
- Statut changé de Resolved à Integration in progress...
- Statut changé de Integration in progress... à Closed
- % réalisé changé de 0 à 100
Formats disponibles : Atom
PDF