Assembly Execution Progress : état en temps réel de vos Assemblies
Une fois les téléversements terminés, les utilisateurs veulent encore savoir ce qui arrive à leurs fichiers. Notre nouvelle fonctionnalité Assembly Execution Progress répond à ce besoin avec des événements de progression en temps réel pour chaque fichier pendant le traitement. Votre interface peut ainsi afficher un état pertinent plutôt qu’un simple indicateur de chargement.
Assembly Execution Progress est encore expérimental. Son comportement, les détails de son API et sa tarification peuvent évoluer à mesure que nous l’affinons. Si vous rencontrez des problèmes, veuillez nous contacter.
Pourquoi c’est important
La progression du téléversement indique aux utilisateurs quand un fichier atteint nos serveurs. Assembly Execution Progress leur indique ce qui se passe ensuite : jusqu’où leurs fichiers ont avancé dans chaque Step de traitement. Cela inspire confiance dans les chaînes de traitement complexes, surtout lorsque les fichiers suivent des chemins différents.
Comment ça fonctionne
Transloadit estime la progression globale en prédisant les Steps
restants de votre Assembly et en combinant ces estimations
avec les données d’exécution en temps réel (par exemple, la progression de l’encodage fournie par
/video/encode). Vous recevez un pourcentage global ainsi que des valeurs de progression
pour chaque fichier, mis à jour environ toutes les deux secondes.
Activer la fonctionnalité dans votre Assembly
Ajoutez emit_execution_progress: true à vos Assembly Instructions
lorsque vous créez l’Assembly :
{
"steps": {
"resized": {
"robot": "/image/resize",
"use": ":original",
"width": 100,
"height": 100,
"resize_strategy": "fillcrop"
}
},
"emit_execution_progress": true
}
Exploiter le flux de progression
Ouvrez le flux de mises à jour de l’Assembly et écoutez les
événements assembly_execution_progress. Chaque événement contient une estimation globale dans
progress_combined et un tableau de valeurs de progression pour chaque fichier.
Lorsque la progression ne peut pas encore être estimée, conservez un état indéterminé dans l’interface.
{
"progress_combined": 75,
"progress_per_original_file": [
{
"original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
"progress": 50
},
{
"original_id": "56921a2dd46246d3b4d3a98b9f8ed4e1",
"progress": 100
}
]
}
Conseils pour l’interface
Associez la progression du téléversement à celle de l’exécution pour montrer toute la chaîne de traitement aux utilisateurs.
Affichez la progression de chaque fichier lors des téléversements par lot pour éviter une impression de « blocage ».
Utilisez la progression globale pour une barre d’ensemble et celle de chaque fichier pour une liste détaillée.
Limites à connaître
La progression est une estimation, et certains flux de travail ne peuvent pas la fournir immédiatement,
voire pas du tout. Consultez les recommandations sur les Assemblies compatibles
pour les nombres de résultats imprévisibles, les Assemblies URL Transform et les téléversements
multiparties. Chaque entrée de progress_per_original_file identifie son fichier d’entrée par
original_id ; les fichiers importés sans cet identifiant ne figurent pas dans la liste.
Étapes suivantes
Consultez la documentation d’Assembly Execution Progress pour connaître les règles de compatibilité, les mises à jour manquantes et le schéma de progression pouvant prendre la valeur null, puis utilisez la référence du flux de mises à jour des Assemblies pour intégrer les événements à votre interface.
