Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Traitement asynchrone des tâches

Dernière mise à jour :Aug 24, 2026

Les tâches de traitement multimédia asynchrones renvoient leurs résultats en arrière-plan. Le délai entre la soumission et l'obtention du résultat dépend à la fois de la planification et du traitement effectif. Cette rubrique explique les facteurs qui déterminent le calendrier d'une tâche asynchrone, comment interpréter son statut et sa progression, et comment intégrer ces tâches afin que des durées de finalisation variables ne bloquent pas vos flux de travail métier.

Qu'est-ce qu'une tâche asynchrone ?

Une tâche asynchrone est une tâche de traitement multimédia que le service accepte lors de la soumission, puis exécute en arrière-plan. Le résultat n'est disponible qu'une fois le traitement terminé. Alibaba Cloud ApsaraVideo VOD, Intelligent Media Services et Media Processing proposent diverses fonctionnalités de traitement multimédia asynchrone.

Une soumission réussie signifie uniquement que la tâche a été acceptée. Cela n'implique pas qu'elle démarre immédiatement, ni qu'elle se termine dans un délai fixe.

Par nature, une tâche asynchrone est un traitement hors ligne. Contrairement à une API synchrone, le moment où une tâche asynchrone produit son résultat dépend de la planification des tâches, des fluctuations du volume de tâches, de la complexité des tâches, des caractéristiques du fichier source et des paramètres configurés. La durée totale de la tâche peut être nettement supérieure au temps de traitement réel.

Les tâches asynchrones ne conviennent donc pas comme conditions bloquantes dans les flux de travail métier sensibles à la latence. N'utilisez pas les valeurs de référence de vitesse de traitement présentées dans cette rubrique pour estimer les délais de livraison dans un environnement de production.

Portée

Cette rubrique s'applique aux tâches de traitement multimédia initiées et exécutées de manière asynchrone dans ApsaraVideo VOD, Intelligent Media Services et Media Processing, notamment (liste non exhaustive) :

  • Tâches de transcodage multimédia.

  • Tâches de montage multimédia.

  • Tâches de capture d'instantanés et de sprites d'images.

  • Tâches d'analyse des ressources multimédias.

  • Tâches de traitement multimédia asynchrone assistées par l'IA.

  • Autres tâches de traitement multimédia soumises dont les résultats sont récupérés via un mécanisme asynchrone. Les types de tâches peuvent différer en termes de pipeline de traitement, de caractéristiques de durée, de statut de tâche, de champs de progression, de méthodes de requête et de mécanismes de notification des résultats. Si la documentation d'une fonctionnalité spécifique fournit des informations distinctes, suivez cette documentation produit.

Calendrier général

Lisez intégralement cette section avant d'initier une tâche et concevez votre flux de travail métier en conséquence. La durée totale d'une tâche asynchrone comprend généralement deux parties :

Durée totale de la tâche = Temps d'attente + Temps de traitement réel

  • Temps d'attente — période pendant laquelle la tâche reste en attente après sa soumission et avant d'entrer dans la phase de traitement réel.

  • Temps de traitement réel — durée nécessaire à l'exécution de la tâche elle-même une fois entrée dans la phase de traitement réel.

Important
  • La réception d'un ID de tâche signifie uniquement que la tâche a été créée.

  • Le délai de finalisation que vous constatez correspond à la durée totale de la tâche, et non au seul temps de traitement réel.

  • Les descriptions de durée des tâches, les valeurs de référence de vitesse de traitement, les exemples et les réponses aux FAQ de cette rubrique décrivent les caractéristiques de traitement dans des scénarios typiques uniquement. Ils ne constituent ni un engagement de service, ni une métrique SLA, ni une garantie de livraison, ni une base pour une compensation de service ou commerciale.

  • Même si les spécifications d'une tâche sont proches de celles d'un exemple de référence, la durée totale de la tâche peut rester significativement plus longue en raison d'un temps d'attente accru.

  • Si votre activité impose des exigences strictes concernant le délai de finalisation, prévoyez une marge de sécurité et mettez en œuvre un découplage asynchrone, des mécanismes de secours en cas de dépassement de délai et des stratégies de dégradation de service.

Durée totale de la tâche par rapport au temps de traitement réel

Cette distinction est essentielle pour comprendre le calendrier des tâches asynchrones. Les vitesses de traitement, les multiplicateurs de vitesse et les durées d'exemple mentionnés dans cette rubrique décrivent uniquement la rapidité d'exécution d'une tâche une fois entrée dans la phase de traitement réel.

La rapidité d'obtention du résultat dépend de deux facteurs :

  1. La durée d'attente de la tâche avant d'entrer dans la phase de traitement réel.

  2. La durée effective du traitement de la tâche elle-même. Par conséquent :

  • Une valeur de référence de vitesse de traitement décrit uniquement le temps de traitement réel. Elle ne représente pas la durée totale de la tâche.

  • Vous ne pouvez pas déduire le délai de livraison d'une tâche à partir d'une valeur de référence de vitesse de traitement.

  • Des tâches aux spécifications identiques soumises à des périodes différentes peuvent présenter des durées totales significativement différentes.

Temps d'attente

Après la soumission d'une tâche, le service la planifie vers la phase de traitement réel en fonction du type de tâche, du volume de tâches et des politiques de traitement.

Le temps d'attente peut augmenter dans les situations suivantes :

  • Un grand nombre de tâches sont soumises sur une courte période.

  • Le volume de tâches fluctue considérablement durant la même période.

  • Les tâches hautement complexes représentent une proportion importante de la file d'attente.

Remarque
  • Une soumission réussie ne signifie pas que la tâche est entrée dans la phase de traitement réel.

  • Le temps d'attente varie selon la période de soumission, le type de tâche, l'échelle de la tâche et les différences entre les pipelines de traitement.

  • Ne resoumettez pas la même tâche pendant qu'elle est en attente. Une resoumission peut entraîner un double traitement et accroître davantage le temps d'attente global.

  • Utilisez des rappels asynchrones pour obtenir les résultats des tâches plutôt que d'effectuer un sondage à haute fréquence.

Prenez note des points suivants concernant l'état du service :

  • Le temps d'attente dépend de nombreux facteurs, tels que le volume et les caractéristiques des tâches. Une augmentation du temps d'attente seule ne suffit pas à déterminer l'existence d'un problème de service.

  • En cas de problème de service ayant un impact large, Alibaba Cloud notifie les utilisateurs concernés par message interne, SMS ou via d'autres canaux.

Temps de traitement réel

Le temps de traitement réel est étroitement lié au type de tâche, aux caractéristiques du fichier source et à la configuration de la tâche. Le modèle de durée n'est pas identique pour chaque fonctionnalité.

Facteurs d'influence courants

Facteur Modèle Description
Durée du fichier source Une durée plus longue implique généralement un temps de traitement réel plus long L'un des principaux facteurs pour la plupart des tâches de traitement multimédia.
Spécifications de sortie Des spécifications plus élevées impliquent généralement un temps de traitement réel plus long Par exemple, une résolution plus élevée ou un format de sortie plus complexe.
Complexité de l'algorithme de traitement Des algorithmes plus complexes impliquent généralement un temps de traitement réel plus long Par exemple, un transcodage avancé ou une analyse complexe.
Paramètres personnalisés Des paramètres plus complexes impliquent généralement un temps de traitement réel plus long Par exemple, des paramètres d'amélioration ou un traitement en plusieurs étapes.
Caractéristiques du fichier source Des caractéristiques plus complexes entraînent généralement une plus grande fluctuation de la durée Par exemple, le débit binaire, la fréquence d'images, le format de conteneur ou la structure du flux.
Type de tâche Différents types de tâches ont des modèles de durée différents Les tâches de transcodage, de montage, de capture d'instantanés/sprites d'images et d'analyse des ressources multimédias ne peuvent pas être comparées directement entre elles.

Différences entre les types de tâches

  • Tâches de transcodage : le temps de traitement réel dépend généralement de la durée de la vidéo, de la résolution, du format d'encodage, de l'algorithme de transcodage et des paramètres du modèle.

  • Tâches de montage : le temps de traitement réel est également affecté par le nombre de clips, la nécessité d'un réencodage, le fait que le découpage traverse ou non les images clés, et l'assemblage de plusieurs clips.

  • Tâches de capture d'instantanés, de sprites d'images et d'analyse des ressources multimédias : l'interprétation du temps de traitement réel peut différer de celle des tâches de transcodage, et les champs de progression, les champs de statut et les divisions par étape ne sont pas toujours disponibles.

Statut et progression de la tâche

Les champs de statut, les champs de progression, les méthodes de requête et les mécanismes de renvoi des résultats peuvent varier selon les tâches asynchrones. La logique de statut décrite dans cette rubrique couvre uniquement les étapes de traitement courantes des tâches asynchrones. Cela ne signifie pas que toutes les tâches asynchrones utilisent le même modèle de statut.

De manière générale, une tâche asynchrone passe de la soumission à une phase d'attente, puis à la phase de traitement réel, pour enfin atteindre un état final réussi ou échoué.

Stages of an asynchronous task: submission, wait stage, actual processing stage, and the succeeded or failed end state

Notez les points suivants :

  • Certaines tâches fournissent un champ de progression que vous pouvez interroger.

  • Certaines tâches ne renvoient que quelques statuts, tels que Processing, Succeeded ou Failed.

  • Pour certaines tâches, Waiting n'est pas un statut autonome. Vous devez l'interpréter en combinant le champ de statut avec d'autres champs.

  • Reportez-vous aux réponses réelles de l'API et à la documentation du produit correspondant pour connaître les définitions spécifiques des statuts, les champs de progression et les méthodes de requête.

Exemple : tâches de transcodage

Le contenu suivant décrit uniquement comment interpréter le statut et la durée des tâches de transcodage. Cela ne signifie pas que les autres tâches asynchrones utilisent le même mécanisme.

Statut des tâches de transcodage

Après avoir soumis une tâche de transcodage, le statut de la tâche dans le résultat de la requête peut être Transcoding. Un statut Transcoding signifie que la tâche est entrée dans le workflow de transcodage, mais pas nécessairement que le transcodage réel a commencé. Utilisez le champ TranscodeProgress pour déterminer plus précisément l'étape de la tâche.

Statut de la tâche **TranscodeProgress** Description Interprétation recommandée
Transcoding ou Submitted 0 La tâche n'est pas entrée dans la phase de transcodage réel. En attente
Transcoding ou Running Supérieur à 0 La tâche est entrée dans la phase de transcodage réel. Transcodage en cours
Succeeded 100 Le transcodage s'est terminé avec succès. Réussi
Failed Non applicable Le transcodage s'est terminé anormalement. Échoué

Pour les tâches de transcodage, l'attente n'est généralement pas une énumération de statut autonome. Il s'agit d'une étape que vous déterminez en combinant le statut de la tâche avec la progression du transcodage.

Référence de vitesse de traitement du transcodage

Important

Les valeurs de référence suivantes décrivent la vitesse de traitement des tâches de transcodage une fois entrées dans la phase de traitement réel, dans des conditions de test typiques. Elles excluent le temps d'attente et ne représentent pas la durée totale de la tâche.

Multiplicateur de vitesse

Multiplicateur de vitesse — multiple de la durée vidéo pouvant être traité par unité de temps de traitement.

Par exemple, une vitesse 3x signifie qu'environ 3 minutes de contenu vidéo peuvent être traitées en 1 minute de temps de traitement. Pour une vidéo de 30 minutes, le temps de traitement réel théorique est d'environ 10 minutes, hors temps d'attente.

Valeurs de référence par algorithme de transcodage

Le tableau suivant utilise un scénario typique de transcodage H.264 720p comme référence et décrit les caractéristiques de vitesse de traitement des différents algorithmes de transcodage.

Algorithme de transcodage Référence de vitesse de traitement Description
Transcodage standard Environ 3x vitesse Reflète uniquement la vitesse de la phase de traitement dans des conditions typiques.
Narrowband HD 1.0 Environ 1,5x vitesse Le temps de traitement réel est généralement plus long que celui du transcodage standard.
Narrowband HD 2.0 Généralement bien inférieur à 1x vitesse Le temps de traitement réel est généralement plus long que la durée de la vidéo source. Le temps réel dépend de la tâche spécifique.
Remarque
  • Les valeurs de référence précédentes s'appliquent uniquement aux scénarios typiques de transcodage H.264 720p.

  • Pour des résolutions plus élevées, un encodage plus complexe et des paramètres plus lourds, la vitesse de traitement est généralement inférieure aux valeurs de référence précédentes.

  • Les différences de débit binaire, de fréquence d'images, de format de conteneur et de structure de flux des vidéos sources peuvent affecter significativement le temps de traitement réel.

  • La complexité de traitement de Narrowband HD 2.0 est généralement significativement plus élevée que celle du transcodage standard et de Narrowband HD 1.0.

  • Pour connaître la durée réelle d'une tâche spécifique, reportez-vous au résultat de la requête de statut de la tâche ou à la notification de fin.

Cycle de vie de la tâche et récupération des résultats

Soumission de la tâche

Après avoir soumis une tâche asynchrone via une API, le service renvoie un ID de tâche. Cet ID est l'identifiant unique utilisé pour interroger le statut, corréler les notifications de résultats et résoudre les problèmes. Enregistrez l'ID de tâche dans votre propre système.

Notification des résultats

Une fois une tâche traitée, le service peut pousser une notification de résultat si une URL de rappel est configurée. Vous pouvez vous fier au rappel pour détecter automatiquement la fin de la tâche, sans avoir à effectuer un sondage continu.

Utilisation des rappels

  • Si l'URL de rappel est inaccessible, le service effectue automatiquement des nouvelles tentatives selon une politique prédéfinie.

  • Si la livraison échoue toujours après plusieurs tentatives, utilisez l'API de requête pour confirmer le statut final de la tâche.

  • Les notifications de rappel peuvent être retardées ou livrées plusieurs fois en raison de fluctuations réseau ou d'exceptions de votre côté.

  • Votre logique de gestion des rappels doit effectuer une vérification d'idempotence basée sur l'ID de tâche.

  • Pour le statut final de la tâche, reportez-vous au résultat renvoyé par l'API de requête. Pour plus de détails sur la configuration des rappels et le mécanisme de nouvelle tentative, consultez Configuration des rappels.

Requêtes de tâches

Vous pouvez utiliser un ID de tâche pour interroger le statut actuel et le résultat du traitement d'une tâche. L'API de requête renvoie principalement le statut de la tâche, la progression et les informations de résultat.

Interrogez une tâche dans les scénarios suivants :

  • Aucune notification de rappel n'est configurée.

  • Un rappel est configuré, mais vous devez vérifier la progression actuelle.

  • La durée totale de la tâche dépasse vos attentes métier.

  • Un mécanisme de secours est nécessaire lorsqu'une notification de rappel n'est pas reçue.

Dépannage général

Établissez votre ligne de base d'attente à partir du modèle de durée totale de la tâche : le temps de traitement réel typiquement requis par le type et les spécifications de la tâche, plus une marge de sécurité pour la phase d'attente. Si la durée totale de la tâche dépasse cette ligne de base, examinez les changements de statut de la tâche, l'heure de soumission et la configuration de la tâche, puis effectuez les étapes suivantes.

Étape 1 : Confirmez si la tâche est terminée

Utilisez l'ID de tâche pour interroger le statut actuel ou le résultat de la tâche :

  • Si la tâche est terminée, obtenez le résultat et évaluez la durée totale de la tâche. Aucune autre étape n'est requise.

  • Si la tâche a échoué, vérifiez le code d'erreur et le message d'erreur, puis corrigez le problème comme indiqué.

  • Si la tâche n'est pas terminée, passez à l'étape 2 pour déterminer si la tâche est en phase d'attente ou en phase de traitement réel.

Étape 2 : Déterminez l'étape actuelle en fonction du type de tâche

  • Pour les tâches de transcodage : utilisez le statut Transcoding conjointement avec TranscodeProgress pour déterminer si la tâche est entrée dans la phase de transcodage réel.

  • Pour les autres tâches asynchrones : reportez-vous aux champs renvoyés par l'API de requête de la tâche correspondante et à sa documentation. N'appliquez pas directement la méthode d'interprétation des tâches de transcodage. Si la tâche n'est pas entrée dans la phase de traitement réel, elle est toujours en attente de planification. Attendez que le service planifie la tâche et ne la resoumettez pas. Si la tâche est déjà en phase de traitement réel, passez à l'étape 3.

Étape 3 : Identifiez les causes possibles en fonction des caractéristiques de la tâche

Symptôme Cause possible Action recommandée
Aucun résultat n'est renvoyé pendant une longue période Fluctuation du volume de tâches, augmentation du temps d'attente, problème de service ou complexité élevée de la tâche Confirmez si la tâche est toujours en attente de planification. Une augmentation du temps d'attente seule n'indique pas un problème de service.
Le temps de traitement réel est significativement plus long que pour les tâches courantes Fichier source complexe, paramètres lourds ou complexité élevée de la tâche Vérifiez le fichier source et la configuration par rapport aux facteurs indiqués dans Temps de traitement réel.
La tâche a échoué Fichier source anormal, erreur de paramètre ou erreur de traitement Consultez la description du code d'erreur et corrigez le problème comme indiqué.
La requête ne renvoie aucun résultat ID de tâche incorrect ou tâche non soumise avec succès Vérifiez le résultat de la soumission et l'ID de tâche.

Si aucune des actions précédentes ne résout le problème, passez à l'étape 4.

Étape 4 : Collectez les informations pour le support technique

Pour obtenir de l'aide auprès du support technique, fournissez les informations suivantes dans la mesure du possible :

  • L'ID de tâche.

  • L'heure de soumission de la tâche.

  • Le type de tâche, tel que transcodage, montage, capture d'instantanés/sprites d'images ou analyse des ressources multimédias.

  • La durée, la résolution et le format d'encodage du fichier source.

  • La configuration du modèle ou les paramètres de traitement.

  • Indiquez si les tâches sont soumises par lot.

  • Les symptômes du problème et l'étendue de l'impact.

Méthodes d'intégration recommandées

Méthode Description Scénarios
Rappel asynchrone (Recommandé) Le service pousse le résultat une fois la tâche terminée. Environnements de production et scénarios métier formels.
Sondage Interrogez périodiquement le statut et le résultat de la tâche. Débogage, tests et mécanisme de secours en cas d'échec des rappels.

Recommandations d'intégration

Pour réduire l'impact des fluctuations de latence des tâches asynchrones sur votre activité, suivez ces recommandations :

  • Utilisez un découplage asynchrone pour traiter les tâches multimédias dans la conception de votre système.

  • Détectez les résultats des tâches via des rappels asynchrones ou des requêtes de statut plutôt qu'en attendant de manière synchrone, et privilégiez les rappels asynchrones dans les environnements de production.

  • Évitez le sondage à haute fréquence pour réduire les requêtes inutiles.

  • Mettez en œuvre un contrôle d'idempotence lors de la soumission des tâches pour éviter les soumissions en double.

  • Échelonnez la soumission des tâches par lot pour éviter une file d'attente importante sur une courte période.

  • Configurez une surveillance des délais d'expiration des tâches, des alertes, des interventions manuelles et des mécanismes de secours métier.

  • Pour les scénarios métier critiques, ainsi que pour les heures de pointe, les tâches par lot et les tâches complexes, prévoyez suffisamment de marge de sécurité et concevez un plan de dégradation de service.

FAQ

Une tâche de transcodage 720p de 10 minutes se terminera-t-elle toujours en 3 à 4 minutes ?

Pas nécessairement. La valeur de référence d'environ 3x vitesse décrit la vitesse de traitement d'une tâche de transcodage une fois entrée dans la phase de traitement réel, dans des conditions de test typiques. Elle exclut le temps d'attente avant que la tâche n'entre dans la phase de traitement réel et ne représente pas la durée totale de la tâche dans un environnement de production.

Le moment où le résultat devient disponible est déterminé par la durée totale de la tâche. Ne déduisez pas le délai de livraison d'une tâche à partir des valeurs de référence de vitesse de traitement.

Si la durée totale de la tâche dépasse vos attentes métier, suivez les étapes indiquées dans Dépannage général.

Pourquoi le statut de ma tâche de transcodage indique-t-il Transcoding alors que TranscodeProgress reste à 0 ?

Pour les tâches de transcodage, un statut Transcoding indique que la tâche est entrée dans le workflow de transcodage, ce qui n'équivaut pas au début du transcodage réel. Lorsque TranscodeProgress est égal à 0, la tâche est toujours en phase d'attente. Lorsque TranscodeProgress est supérieur à 0, la tâche est entrée dans la phase de transcodage réel.

Les spécifications de ma tâche sont proches du scénario de référence. Pourquoi la durée totale de la tâche est-elle significativement plus longue ?

Les raisons possibles incluent, sans s'y limiter :

  • La tâche a attendu longtemps avant d'entrer dans la phase de traitement réel.

  • Les caractéristiques réelles du fichier source diffèrent du scénario de référence typique.

  • Les paramètres de la tâche ou la configuration du modèle sont plus complexes que d'habitude.

  • Les fluctuations du volume de tâches durant la même période ont augmenté la durée totale de la tâche. Pour confirmer davantage la cause, demandez de l'aide au support technique et fournissez l'ID de tâche.

Une augmentation du temps d'attente indique-t-elle toujours un problème de service ?

Pas nécessairement. Le temps d'attente dépend de nombreux facteurs, tels que le volume et les caractéristiques des tâches. Une augmentation du temps d'attente seule ne suffit pas à déterminer l'existence d'un problème de service. Pour confirmer l'état actuel du service, demandez de l'aide au support technique.

Puis-je utiliser les valeurs de référence de vitesse de traitement pour m'engager sur un délai de livraison métier ?

Non. Les valeurs de référence de vitesse de traitement vous aident uniquement à comprendre les caractéristiques de traitement des tâches. Ne les utilisez pas comme base pour les délais de livraison en production, les SLA métier ou les engagements envers vos utilisateurs finaux.

Pour les scénarios métier avec des exigences strictes en matière de calendrier, prévoyez une marge de sécurité dans votre architecture métier et mettez en place des mécanismes de secours en cas de dépassement de délai et de dégradation.

Puis-je interpréter le statut des autres tâches asynchrones de la même manière que les tâches de transcodage ?

Pas nécessairement. Le statut Transcoding et le champ TranscodeProgress de l'exemple de transcodage sont spécifiques aux tâches de transcodage.

Pour les tâches de montage, de capture d'instantanés/sprites d'images, d'analyse des ressources multimédias et autres tâches asynchrones, les champs de statut, les champs de progression et les méthodes d'interprétation peuvent différer de ceux des tâches de transcodage. Reportez-vous à l'API de requête de la tâche spécifique et à la documentation produit correspondante.

SLA et étendue des responsabilités

  • Si vous soupçonnez qu'un retard de traitement de tâche est causé par un problème de service, demandez de l'aide au support technique et fournissez l'ID de tâche ainsi que les informations connexes.

  • La disponibilité du service, la responsabilité et l'étendue de la compensation sont régies par les Conditions d'utilisation officielles et le SLA. Pour plus d'informations sur une capacité asynchrone spécifique, reportez-vous à la documentation du produit correspondant.