Warteschlangen
Kunden können unsere Systeme innerhalb weniger Sekunden mit gültigen Anfragen zur umfangreichen Dateiverarbeitung überlasten. Um diese Spitzen effizient zu bewältigen und einen reibungslosen Service für alle Kunden sicherzustellen, haben wir Warteschlangenmechanismen implementiert.
Wie funktioniert das?
- Live-Queue: Direkte Datei-Uploads stellen Encoding-Jobs zur sofortigen Verarbeitung in die Live-Queue ein, 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 Verarbeitung in Echtzeit erfordern. Wenn Sie beispielsweise mit unseren Import-Robots mehrere Dateien in dieselbe Assembly importieren, werden diese Jobs sofort in die Batch-Queue eingestellt. Jobs werden nur aus der Batch-Queue entnommen, wenn die gemeinsam genutzte Live-Queue leer ist. Auch die Batch-Queue wird von allen Kunden gemeinsam genutzt.
- Automatischer Wechsel: Wenn zu viele Live-Jobs gesendet werden und Sie die in Ihrem Tarif enthaltene Anzahl an Priority Job Slots überschreiten, werden Jobs nach und nach in die Backup-Queue verschoben, damit die Live-Performance anderer Kunden nicht beeinträchtigt wird. Sobald einige Ihrer Live-Jobs abgeschlossen sind und dadurch Priority Job Slots in Ihrem Workspace frei werden, werden sie zurück in die Live-Queue gestellt.
- Backup-Queue: Wenn zu viele Batch-Jobs gesendet werden, werden diese ebenfalls nach und nach in eine Backup-Queue verschoben und wieder in die gemeinsam genutzte Batch-Queue eingestellt, sobald einige Ihrer Batch-Jobs abgeschlossen sind und dadurch Batch-Slots in Ihrem Workspace frei werden.
Wie viele Slots benötigen Jobs?
Die Anzahl der erforderlichen Slots hängt vom Job-Typ ab. Ein Job, der einen der Video-Robots verwendet, belegt 60 Slots, während beispielsweise ein /image/resize-Job nur 5 Slots benötigt.
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 Tarif umfasst pro Region ein Limit für Live-Job-Slots und Batch-Slots. Wenn Ihr Limit für Priority Job Slots beispielsweise 120 beträgt, können Sie entweder 24 Bildgrößenänderungen gleichzeitig ausführen (jeweils 5 Slots) oder 2 Video-Encodings gleichzeitig verarbeiten, bevor Jobs nach und nach in die Batch-Queue verschoben werden. Wenn Sie 360 Batch-Slots haben und mehr als 6 Video-Jobs in Ihre Batch-Queue einstellen, werden nachfolgende Jobs entsprechend in die Backup-Queue eingestellt.
Die Limits Ihres Tarifs für Priority Job Slots und Batch-Slots gelten pro Region.
Wie kann ich Leistungseinbußen vermeiden?
-
Erhöhen Sie die Anzahl Ihrer Priority Job Slots und Batch-Slots, um den Durchsatz zu steigern. Kontaktieren Sie uns, um individuelle Werte zu vereinbaren.
-
Setzen Sie
waitForEncodingauffalse(verfügbar beispielsweise in der Uppy-Integration). Dadurch erfolgt die Verarbeitung asynchron, sodass Queue-Zeiten von zwei Minuten die Nutzung durch Endanwender nicht beeinträchtigen. Sobald die Dateien bereit sind, senden wir einen Ping an dienotify_url, und Sie benachrichtigen Ihren Benutzer. Dieser Ansatz bietet die beste Benutzererfahrung und Zuverlässigkeit und ermöglicht es Ihnen, bei Bedarf Assembly Replays zu aktivieren. Weitere Informationen finden Sie in der Dokumentation zu Assembly Notifications. -
Indem Sie in einem Step
"queue": "batch"festlegen, können Sie die Priorität seiner Jobs selbst herabsetzen, um zu vermeiden, dass Priority Job Slots für Jobs belegt werden, die nicht wirklich Queue-Wartezeiten von null benötigen. Zum Beispiel:
{
"steps": {
// …
"encode": {
"use": ":original",
"robot": "/video/encode",
"queue": "batch",
// …
},
// …
}
}
Wo kann ich die aktuellen Queue-Zeiten in meiner Region prüfen?
Die aktuellen Queue-Zeiten für Live-Queues und Batch-Queues finden Sie auf unserer Statusseite. Außerdem können Sie über unseren Queues-API-Endpunkt programmatisch darauf zugreifen (Werte in Sekunden).