Warteschlangen
Kunden können unsere Systeme innerhalb von nur wenigen Sekunden mit gültigen Anfragen zur Dateiverarbeitung in großem Umfang überlasten. Um diese Lastspitzen effizient zu bewältigen und einen reibungslosen Service für alle Kunden zu gewährleisten, haben wir Warteschlangenmechanismen implementiert.
Wie funktioniert das?
- Live Queue: Direkte Datei-Uploads stellen Encoding Jobs zur sofortigen Verarbeitung in die Live Queue, die als Überholspur dient. Live-Jobs haben Vorrang vor allen anderen Jobs. Die Live Queue wird von allen Kunden gemeinsam genutzt.
- Batch Queue: Die Batch Queue ist für größere Jobs vorgesehen, die keine Echtzeitverarbeitung
erfordern. Die automatische Einstufung als Batch hängt vom Importer und seinen Regeln für Massenimporte ab,
nicht einfach von der Gesamtzahl der Dateien in einer Assembly. Um die
Batch Queue explizit auszuwählen, setzen Sie
"queue": "batch"im Step. Dafür infrage kommende Batch-Jobs werden mit niedrigerer Priorität unter Nutzung verfügbarer Worker-Kapazität ausgeführt. Sie können ausgeführt werden, während Live-Jobs noch in der Warteschlange stehen, wenn diese Live-Jobs diese Kapazität nicht nutzen können. Die Batch Queue wird ebenfalls von allen Kunden gemeinsam genutzt. - Automatische Weiterleitung: Wenn zu viele Live-Jobs gesendet werden und Sie die in Ihrem Abonnementtarif enthaltene Anzahl an Priority Job Slots überschreiten, werden Jobs nach und nach in die Backup-Warteschlange verschoben, um die Leistung der Live-Verarbeitung anderer Kunden nicht zu beeinträchtigen. Sie werden zurück in die Live Queue gestellt, sobald einige Ihrer Live-Jobs abgeschlossen sind und dadurch Priority Job Slots Ihres Workspaces frei werden.
- Backup-Warteschlange: Wenn zu viele Batch-Jobs gesendet werden, werden auch diese nach und nach in eine Backup-Warteschlange verschoben und wieder in die gemeinsam genutzte Batch Queue eingereiht, sobald einige Ihrer Batch-Jobs abgeschlossen sind und dadurch Slots für Batch-Jobs Ihres Workspaces frei werden.
Wie viele Slots belegen Jobs?
Die Anzahl der erforderlichen Slots hängt von der Art des Jobs ab.
Ein /video/encode-Job belegt beispielsweise 60 Slots, während ein /image/resize-Job 5 Slots nutzt.
Eine Liste aller Robots und ihrer Slot-Anforderungen finden Sie im FAQ-Eintrag zu Priority Job Slots.
Wie viele Jobs kann ich parallel verarbeiten?
Jeder Abonnementtarif enthält ein Limit für Slots für Live-Jobs und Slots für Batch-Jobs pro Region. Wenn Ihr Limit für Priority Job Slots beispielsweise 120 beträgt, können Sie entweder 24 Bildgrößenänderungen (mit jeweils 5 Slots) oder 2 Videokodierungen gleichzeitig ausführen, bevor Jobs nach und nach in die Backup-Warteschlange verschoben werden. Wenn Sie 360 Slots für Batch-Jobs haben und mehr als 6 Video-Jobs in der Batch Queue eingereiht sind, werden nachfolgende Jobs entsprechend in die Backup-Warteschlange eingereiht.
Die Limits Ihres Abonnementtarifs für Priority Job Slots und Slots für Batch-Jobs gelten pro Region.
Wie kann ich Leistungseinbußen vermeiden?
-
Erhöhen Sie die Anzahl Ihrer Priority Job Slots und Slots für Batch-Jobs, um den Durchsatz zu steigern. Kontaktieren Sie uns für individuelle Werte.
-
Setzen Sie
waitForEncodingauffalse(verfügbar z. B. in der Uppy-Integration). Dadurch erfolgt die Verarbeitung asynchron, sodass zweiminütige Wartezeiten in der Warteschlange die Nutzung durch Endnutzer nicht blockieren. Wenn die Dateien bereit sind, rufen wir dienotify_urlauf, und Sie benachrichtigen Ihren Nutzer. Dieser Ansatz bietet die beste Benutzererfahrung und Zuverlässigkeit und ermöglicht es Ihnen, bei Bedarf Assembly Replays zu aktivieren. Weitere Informationen dazu finden Sie in der Dokumentation zu Assembly Notifications. -
Indem Sie
"queue": "batch"in einem Step setzen, können Sie die Priorität seiner Jobs selbst herabsetzen, um keine Priority Job Slots für Jobs zu verbrauchen, die nicht unbedingt ohne Wartezeit in der Warteschlange auskommen müssen. Zum Beispiel:
{
"steps": {
// …
"encode": {
"use": ":original",
"robot": "/video/encode",
"queue": "batch",
// …
},
// …
}
}
Wo kann ich die aktuellen Wartezeiten in den Warteschlangen meiner Region prüfen?
Sie können die aktuellen Wartezeiten sowohl für Live Queues als auch für Batch Queues auf unserer Statusseite prüfen und über unseren Queues-API-Endpunkt programmgesteuert darauf zugreifen (die Werte sind in Sekunden angegeben).