États des opérations asynchrones

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Une fois les opérations asynchrones ajoutées à la file d’attente asynchrone, elles existent dans un état bien défini. Une opération asynchrone peut être en attente d’exécution, en cours d’exécution ou terminée. Il existe également d’autres états possibles avant que l’opération ne soit finalement supprimée de la file d’attente. Les états définissent le cycle de vie de l’opération asynchrone.

Contenu de la rubrique

États des opérations asynchrones

Extraire et mettre à jour les états AsyncOperation

États des opérations asynchrones

L’état de l’opération asynchrone peut être modifié de trois façons : par la plateforme dans le cadre du traitement normal de la file d’attente, par l’utilisateur qui interagit avec l’application Web Microsoft Dynamics 365 ou par un appel de service Web qui modifie l’opération asynchrone. En tant que développeur, vous pouvez extraire l’état en cours d’une opération asynchrone à laquelle vous avez accès, ainsi que modifier l’état.

Le tableau suivant répertorie les états d’une AsyncOperation et leurs statuts.

État

Statut 

Valeur de statut numérique

Ready

WaitingForResources

0

Suspended

Waiting

10

Locked

InProgress

20

Locked

Pausing

21

Locked

Canceling

22

Completed

Succeeded

30

Completed

Failed

31

Completed

Canceled

32

Les états pris en charge sont définis dans l’énumération AsyncOperationState. Dans la classe AsyncOperation à liaison anticipée, l’état est disponible dans l’attribut AsyncOperation.StateCode, tandis que le statut l’est dans l’attribut AsyncOperation.StatusCode. Pour plus d’informations, consultez la rubrique Métadonnées de l’entité AsyncOperation.Pour afficher les métadonnées d'entité pour votre organisation, installez la solution Navigateur de métadonnées décrite dans l'article Parcourir les métadonnées de votre organisation. Vous pouvez également afficher les métadonnées d'une organisation non personnalisée dans un fichier Excel appelé EntityMetadata.xlsx dans le dossier de niveau supérieur du téléchargement du Kit de développement logiciel (SDK).. Les rapports sont affichés dans l’application Web Microsoft Dynamics 365, dans le champ Raison du statut de la grille Tâches système. En sélectionnant l’un des éléments du menu Autres actions de Tâches système, vous pouvez modifier interactivement l’état d’une opération asynchrone. Les actions autorisées sont les suivantes : Annuler, Reprendre, Reporter et Suspendre.

Le diagramme suivant illustre les transitions d’état d’une opération asynchrone qui sont pris en charge.

Diagramme d'état asyncoperation

Notez qu’une opération asynchrone ne peut passer d’un état à un autre que le long de chemins spécifiques, comme illustré dans le diagramme. Certains chemins d’accès sont initiés par l’utilisateur interagissant avec l’application Web Microsoft Dynamics 365, alors que d’autres chemins d’accès le sont par la plateforme Microsoft Dynamics 365 dans le cadre du traitement normal de la file d’attente ou en raison d’un appel de service Web. Par exemple, une opération asynchrone ne peut pas passer directement de l’état Suspendu à l’état Verrouillé.

Un état verrouillé indique que l’instance AsyncOperation est en cours d’utilisation par le service asynchrone. Lorsqu’elle est verrouillée, elle ne peut pas être utilisée par une autre instance du service. Cela garantit que l’instance n’est pas exécutée plusieurs fois, par exemple par deux services asynchrones différents.

Extraire et mettre à jour les états AsyncOperation

La surveillance et la mise à jour de l’état d’une opération asynchrone sont généralement effectuées interactivement via la grille Tâches système de l’application Web Microsoft Dynamics 365. Toutefois, vous pouvez aussi utiliser le Kit de développement logiciel (SDK) pour écrire le code qui exécute ces mêmes tâches.

Lire l’état d’une opération asynchrone

  1. Extrayez une AsyncOperation par son nom à l’aide de la méthode RetrieveMultiple ou par son ID à l’aide de la méthode Retrieve.

  2. Lisez l’attribut AsyncOperation.StateCode.

Modifier le code d’état

  1. Modifiez l’attribut du code d’état extrait avec une nouvelle valeur, selon les états de l’opération autorisés. Vous pouvez également modifier l’attribut AsyncOperation.PostponeUntil.

  2. Appelez Update pour modifier la valeur de ces attributs dans la base de données.

Les opérations précédentes peuvent également être exécutées via la méthode Execute avec les messages de demande appropriés. Les attributs d’une AsyncOperation autres que AsyncOperation.StateCode et AsyncOperation.PostponeUntil doivent être considérés comme étant en lecture seule.

Tâches système récurrentes

Vous ne pouvez pas annuler, suspendre ou reprendre une tâche système. Consultez la liste suivante, qui identifie certaines tâches système restreintes. La valeur de la première colonne est la valeur de l’attribut OperationType de l’entité AsyncOperation.

Type d’opération asynchrone (valeur d’option)

Description de l’opération

22

Calculer la taille de stockage maximum de l'organisation

18

Calculer la taille de stockage de l'organisation

19

Collecter les statistiques de la base de données de l'organisation

20

Collecter les statistiques sur la taille de l'organisation

16

Collecter les statistiques sur l'organisation

9

Collecte de données SQM

25

Index du catalogue de texte intégral de l'organisation

31

Notification de limite de stockage

24

Mise à jour des intervalles statistiques

27

Mettre à jour les états des contrats

Pour obtenir la liste complète des types d’opérations asynchrones pris en charge, consultez la rubrique Métadonnées de l’entité AsyncOperation.Pour afficher les métadonnées d'entité pour votre organisation, installez la solution Navigateur de métadonnées décrite dans l'article Parcourir les métadonnées de votre organisation. Vous pouvez également afficher les métadonnées d'une organisation non personnalisée dans un fichier Excel appelé EntityMetadata.xlsx dans le dossier de niveau supérieur du téléchargement du Kit de développement logiciel (SDK).

Voir aussi

Service asynchrone dans Microsoft Dynamics 365
Entité AsyncOperation (tâche système)
Ordre de dépendance et d’exécution dans les opérations asynchrones

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright