-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(archive-output): add .7z
archiving and unarchiving support for study outputs
#2039
base: dev
Are you sure you want to change the base?
Conversation
d1267ac
to
4373026
Compare
|
||
stopwatch.log_elapsed(lambda elapsed_time: logger.info(f"Copied output for {study_id} in {elapsed_time}s")) | ||
fix_study_root(path_output) | ||
output_full_name = extract_output_name(path_output, output_name) | ||
extension = ".zip" if is_zipped else "" | ||
path_output = path_output.rename(Path(path_output.parent, output_full_name + extension)) | ||
|
||
data = self.get(metadata, f"output/{output_full_name}", 1, use_cache=False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je pense qu'il y a une anomalie dans le if
ci-dessous, on devrait plutôt avoir :
if data is None:
self.delete_output(metadata, f"imported_output_{str(uuid4())}")
raise BadOutputError("The output provided is not conform.")
Peux-tu faire un diagnostique et corriger ?
⚠ Une remarque : lorsqu'on récupère les résultats de simulation depuis le serveur de calcul (SLURM), on peut avoir des sorties compressées. Aujourd'hui, ces sorties compressées sont au format ZIP, mais à l'avenir, on pourrait avoir des archives au format 7z. Il faudra modifier cela dans la méthode |
8a204ae
to
fc6ba45
Compare
fc6ba45
to
3eae66e
Compare
.7z
archiving and unarchiving support for study outputs
Context
In the continuity of ANT1549 and 1551 to use ".7z" format to archive studies, it is planned to do the same with simulations outputs.
Description
Ajout du support pour archiver les sorties de simulation au format "7z" (au lieu de "zip") et les désarchiver au format "7z" (en plus de "zip")
Cette PR modifie le format d'archivage des sorties afin d'utiliser le format "7z" au lieu du format "zip".
Pour l'archivage, on supporte à la fois le format "zip" et "7z" dans le but d'être rétrocompatible.
API
D'un point de vue de l'utilisateur de l'API, les endpoints impactés par cette PR sont les suivants :
POST /v1/studies/{uuid}/output
: import d'une sortie dans l'étude.L'utilisateur peut utiliser le format "zip" ou "7z" pour l'import.
DELETE /v1/studies/{study_id}/outputs/{output_id}
: suppression d'une sortie de l'étude.La suppression fonctionne maintenant pour les sorties archivées en "7z" en plus de celles archivées en "zip".
POST /v1/studies/{study_id}/outputs/{output_id}/_archive
: archivage d'une sortie.Ce endpoint permet de démarrer une tâche d'archivage pour une sortie donnée.
L'archivage se fait maintenant en "7z" au lieu de "zip".
POST /v1/studies/{study_id}/outputs/{output_id}/_unarchive
: désarchivage d'une sortie.Ce endpoint permet de démarrer une tâche de désarchivage pour une sortie donnée.
Le désarchivage fonctionne pour les sorties archivées en "7z" en plus de celles archivées en "zip".
POST /v1/launcher/run/{study_id}
: lacement d'une simulation d'étude.La récupération de la sortie est actuellement au format ZIP.
À l'avenir, il faudra prendre aussi en compte le format 7z (en attende d'une évolution du solver).
IHM frontend
Cette PR a un impact sur l'IHM frontend. Les changements suivants ont été effectués au niveau
de la liste des résultats :
Services
Le service d'archivage automatique des études effectue également un archivage automatique des sorties au format "7z"
pour les variantes d'études.