Assembly Execution Progress: Echtzeitstatus für Ihre Assemblies
Wenn Uploads abgeschlossen sind, möchten Nutzer weiterhin wissen, was mit ihren Dateien passiert. Unser neues Assembly Execution Progress-Feature schließt diese Lücke mit Echtzeit-Fortschrittsereignissen pro Datei während der Verarbeitung, sodass Ihre UI einen aussagekräftigen Status statt eines einfachen Spinners anzeigen kann.
Warnung
Assembly Execution Progress ist noch experimentell. Verhalten, API-Details und Preise können sich weiterentwickeln, während wir das Feature weiter verbessern. Wenn Probleme auftreten, wenden Sie sich bitte an uns: contact us.
Warum das wichtig ist
Upload-Fortschritt zeigt Nutzern, wann eine Datei unsere Server erreicht. Assembly Execution Progress zeigt, was danach passiert: wie weit ihre Dateien die einzelnen Verarbeitungs-Steps durchlaufen haben. Dadurch wirken komplexe Pipelines vertrauenswürdig, insbesondere wenn verschiedene Dateien unterschiedliche Pfade nehmen.
So funktioniert es
Transloadit schätzt den Gesamtfortschritt, indem die verbleibenden Steps in Ihrer
Assembly vorhergesagt und diese Schätzungen mit Live-Ausführungsdaten kombiniert werden (zum Beispiel Encoding-
Fortschritt von /video/encode). Sie erhalten einen kombinierten Prozentsatz sowie Fortschrittswerte pro Datei,
die ungefähr alle zwei Sekunden aktualisiert werden.
In Ihrer Assembly aktivieren
Fügen Sie emit_execution_progress: true zu Ihren Assembly Instructions hinzu, wenn Sie die
Assembly erstellen:
{
"steps": {
"resized": {
"robot": "/image/resize",
"use": ":original",
"width": 100,
"height": 100,
"resize_strategy": "fillcrop"
}
},
"emit_execution_progress": true
}
Fortschrittsstream konsumieren
Öffnen Sie den Update-Stream der Assembly und lauschen Sie auf assembly_execution_progress-Events. Jedes
Event enthält einen kombinierten Prozentsatz und ein Array mit Fortschrittswerten pro Datei.
{
"progress_combined": 75,
"progress_per_original_file": [
{
"original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
"progress": 50
},
{
"original_id": "56921a2dd46246d3b4d3a98b9f8ed4e1",
"progress": 100
}
]
}
Die vollständigen Stream-Details finden Sie in der Dokumentation zum Assembly-Update-Stream und im Thema Assembly Execution Progress.
UI-Tipps
Tipp
Kombinieren Sie Upload-Fortschritt mit Ausführungsfortschritt, damit Nutzer die gesamte Pipeline sehen.
Tipp
Zeigen Sie bei Batch-Uploads den Fortschritt pro Datei an, um den Eindruck eines „Hängens“ zu vermeiden.
Tipp
Nutzen Sie den kombinierten Fortschritt für einen einzelnen Gesamtbalken und den Fortschritt pro Datei für eine detaillierte Listenansicht.
Wichtige Einschränkungen
Bestimmte Steps haben unvorhersehbare Ergebniszahlen (zum Beispiel beim Importieren von Verzeichnissen, Extrahieren von Archiven oder Erzeugen von Dokument-Thumbnails ohne feste Seitenliste). Wenn Ihre Assembly diese Steps enthält, wird der Ausführungsfortschritt erst ausgegeben, wenn sie abgeschlossen sind. Danach werden Updates wie gewohnt fortgesetzt.
Execution Progress ist für URL Transform Assemblies nicht verfügbar (er wird
ignoriert, selbst wenn das Flag gesetzt ist). Bei Multipart-Uploads beginnt der Fortschritt erst, sobald die Upload-
Metadaten extrahiert wurden. Daher sehen Sie keine Ausführungs-Events, bis die Uploads abgeschlossen sind. Schließlich
wird progress_per_original_file über original_id referenziert, sodass importierte Dateien ohne Original-ID
nicht in der Liste pro Datei erscheinen.
Nächste Schritte
Wenn Sie eine ausführlichere Einführung oder Codebeispiele wünschen, beginnen Sie mit der Dokumentation zu Assembly Execution Progress und binden Sie anschließend die Stream-Events in Ihre UI ein.
