Was ist der Async Mode?
Im Async Mode kann ein Client nach Abschluss seiner Anfrage oder seines Uploads fortfahren, während Transloadit die Assembly separat verarbeitet. Wenn die Assembly eine notify_url angibt, übermittelt eine Assembly Notification die Ergebnisse später an das Backend des Clients.
So funktioniert der Async Mode
Async Mode verändert den Lebenszyklus der Anfrage, nicht den Verarbeitungsgraphen: Sobald die Übermittlung abgeschlossen ist, wird der Client freigegeben, während die Assembly auf der Infrastruktur des Dienstes weiterläuft. Die endgültigen Daten kommen mit der Benachrichtigung, die an die mit notify_url konfigurierte Adresse gesendet wird, statt über eine interaktive Antwort, die während des gesamten Auftrags offen bleibt. So werden bei aufwendiger Medienverarbeitung Zeitüberschreitungen auf Client- und Proxy-Seite vermieden. Anwendungen, die keine Benachrichtigungen empfangen können, können die Assembly Status URL per Polling abfragen, bis ein endgültiger Zustand vorliegt. Die Anwendung muss den Zuordnungszustand dauerhaft speichern und selbst anzeigen, ob ein Auftrag aussteht, erfolgreich war oder fehlgeschlagen ist.
Wichtige Fakten
- 1Die erste Antwort bestätigt die Übergabe, nicht die erfolgreiche Medienausgabe. Ein nutzerseitiges System benötigt daher einen separaten Zustand zwischen der angenommenen Übermittlung und dem endgültigen Abschluss.
- 2Assembly Notifications werden nur gesendet, wenn in der Assembly
notify_urlangegeben ist. Ihr Empfang erfordert einen erreichbaren Server-Endpunkt. Ein Browser-Tab oder mobiler Prozess ist kein zuverlässiger Empfänger; Clients ohne Server-Endpunkt sollten die Assembly Status URL per Polling auf den Abschluss prüfen. - 3Wiederholungsversuche und Anwendungsereignisse, die in abweichender Reihenfolge eintreffen, sind in verteilten Systemen üblich. Der Empfänger sollte Aktualisierungen daher anhand der Assembly-Identität zuordnen und veraltete Zustandsübergänge zurückweisen.
Wann der Async Mode wichtig ist
Wählen Sie den Async Mode, wenn die Verarbeitung länger als eine interaktive Anfrage dauern kann oder den Client nicht blockieren soll, und setzen Sie notify_url, damit die Ergebnisse Ihr Backend erreichen. Der empfangende Endpunkt muss Benachrichtigungen authentifizieren und Wiederholungsversuche oder doppelte Zustellungen sicher handhaben; Integrationen ohne Server-Endpunkt können stattdessen den Assembly Status per Polling abfragen.