États des opérations asynchrones
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.
É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 Dynamics 365 Customer Engagement (on-premises) 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 |
|---|---|---|
| Prête | WaitingForResources | 0 |
| Suspendu(e) | En attente | 10 |
| Verrouillée | InProgress | 20 |
| Verrouillée | Suspension en cours | 21 |
| Verrouillée | Annulation en cours | 22 |
| Terminée | Terminé(e) | 30 |
| Terminée | Échec | 31 |
| Terminée | Annulée | 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 Accès aux métadonnées de votre organisation. Vous pouvez également accéder à la documentation de référence pour les entités dans Référence d'entité.. Les rapports sont affichés dans l’application web Dynamics 365 Customer Engagement (on-premises), 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.

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 Dynamics 365 Customer Engagement (on-premises), alors que d’autres chemins d’accès le sont par la plateforme Dynamics 365 Customer Engagement (on-premises) 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 Dynamics 365 Customer Engagement (on-premises). 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
Extrayez une
AsyncOperationpar son nom à l’aide de la méthode RetrieveMultiple ou par son ID à l’aide de la méthode Retrieve.Lisez l’attribut
AsyncOperation.StateCode.
Modifier le code d’état
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.Appelez Update pour modifier la valeur de ces attributs dans la base de données.
Les opérations précédentes peuvent également être effectuées à l’aide de la méthode IOrganizationService.Execute avec les messages de demande adéquats. Les attributs d’une
AsyncOperationautres queAsyncOperation.StateCodeetAsyncOperation.PostponeUntildoivent ê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 Accès aux métadonnées de votre organisation. Vous pouvez également accéder à la documentation de référence pour les entités dans Référence d'entité.
Voir aussi
Service asynchrone
Entité d’opération asynchrone (tâche système)
Ordre de dépendance et d’exécution dans les opérations asynchrones
Hinweis
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).
Commentaires
Envoyer et afficher des commentaires pour