Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour éviter d’atteindre la limite de mémoire d’une unité de capacité (CU), nous vous recommandons de purger régulièrement les données d’historique d’orchestration. Durable Task Scheduler offre une fonctionnalité de nettoyage automatique légère et configurable qui vous permet de gérer le nettoyage des données d’orchestration sans intervention manuelle.
| Réglage | Valeur par défaut |
|---|---|
| Vidage automatique | Activé |
| Période de conservation par défaut | 30 jours |
| Période de rétention maximale | 90 jours |
| S’applique à | Tous les hubs de tâches dans le planificateur |
| États éligibles |
Completed, Failed, Canceled, Terminated |
La purge automatique fonctionne de manière asynchrone en arrière-plan, optimisée pour minimiser l'utilisation des ressources système et empêcher les interférences avec les autres opérations de Durable Task. Bien que le vidage automatique ne suive pas un calendrier strict, son taux de nettoyage s’aligne généralement sur votre fréquence de planification des orchestrations.
Fonctionnement
La purge automatique est activée par défaut avec une politique de 30 jours, mais elle peut être personnalisée. Vous pouvez modifier cela en définissant des stratégies de rétention qui spécifient la durée de conservation des données d’orchestration pour certains états. La fonctionnalité autopurge supprime les données d’orchestration dont l'état est final. Un état terminal signifie que l’orchestration a atteint un état final et ne planifie plus les tâches, ne traite plus les événements, ni ne génère des éléments de travail. Les états des terminaux sont les suivants :
CompletedFailedCanceledTerminated
Les instances d'orchestration éligibles pour le nettoyage automatique correspondent à celles ciblées par l'API PurgeInstancesAsync du Durable SDK.
Le vidage automatique ignore les données d’orchestration associées à des états non terminaux. Les états non terminal indiquent que l’instance d’orchestration est en cours d’exécution, suspendue ou dans un état où elle peut reprendre à l’avenir (en attente d’événements externes ou de minuteurs). Les états non terminal sont les suivants :
PendingRunningSuspendedContinued_As_New
Note
Les orchestrations utilisant ContinueAsNew ne sont pas considérées comme terminales.
ContinueAsNew redémarre l’orchestration avec un nouvel historique d’exécution tout en conservant l’ID d’instance, de sorte que ces instances ne sont pas purgées tant qu’elles n’atteignent pas un véritable état de terminal.
Une fois activée, l'autopurge supprime régulièrement les données d’orchestration antérieures à la période de rétention que vous avez définie. Le vidage automatique supprime uniquement les données pour les orchestrations ayant un statut terminal.
Note
Les stratégies de rétention que vous définissez sont appliquées à tous les hubs de tâches dans un planificateur.
Configurer les stratégies de rétention
Plage de valeurs de stratégie
Les valeurs de rétention sont spécifiées en jours et peuvent passer de 0 (purge dès que possible) à 90 jours. Par défaut, la rétention de la purge automatique est définie sur 30 jours.
La période de rétention commence lorsque l’orchestration entre dans un état terminal, et non lors de sa création. Par exemple, si vous définissez une valeur de rétention de 1 jour et qu’une orchestration prend 10 jours pour se terminer, le vidage automatique la supprime 1 jour après sa fin.
Types de stratégie par défaut et spécifiques
Lors de la configuration d’une stratégie de rétention d'autopurge, vous pouvez définir une stratégie spécifique ou une stratégie par défaut.
La stratégie par défaut purge les données d’orchestration indépendamment de
orchestrationState. La stratégie suivante vide les données d’orchestration de tous les états couverts par la fonctionnalité après 2 jours :{ "retentionPeriodInDays": 2 }Une stratégie spécifique définit la purge des données d’orchestration pour des données spécifiques
orchestrationState. La stratégie suivante indique à Durable Task Scheduler de conserver les données d’orchestration terminées pendant 1 jour, après quoi ces données sont vidées.{ "retentionPeriodInDays": 1, "orchestrationState": "Completed" }
Ajoutez des stratégies spécifiques pour remplacer la stratégie par défaut appliquée aux orchestrations. Dans l’exemple suivant, les deuxième et troisième stratégies remplacent la stratégie par défaut ("retentionPeriodInDays": 1).
Les données associées aux orchestrations
completedsont supprimées dès que possible.Les données associées aux orchestrations
failedsont supprimées après 60 jours.[ { "retentionPeriodInDays": 1 }, { "retentionPeriodInDays": 0, "orchestrationState": "Completed" }, { "retentionPeriodInDays": 60, "orchestrationState": "Failed" } ]
Étant donné qu’aucune stratégie spécifique n’est définie pour les orchestrations canceled ou terminated, la stratégie par défaut s’applique toujours à elles, purgeant leurs données après 1 jour.
Activer la purge automatique
Vous pouvez définir des stratégies de rétention à l’aide des éléments suivants :
- Interface CLI Tâches durables
- Azure Resource Manager (ARM)
- Bicep
Vérifiez que vous disposez de la dernière version de l’extension CLI Tâche durable.
az extension add --name durabletask
az extension update --name durabletask
Créez ou mettez à jour la stratégie de rétention en exécutant la commande suivante.
az durabletask retention-policy create --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP --default-days 1 --completed-days 0 --failed-days 60
Les propriétés suivantes spécifient la durée de rétention des données d’orchestration de différents états.
| Propriété | Description |
|---|---|
--canceled-days ou -x |
Nombre de jours pour conserver les orchestrations annulées. |
--completed-days ou -c |
Nombre de jours pour conserver les orchestrations terminées. |
--default-days ou -d |
Nombre de jours pour conserver les orchestrations. |
--failed-days ou -f |
Nombre de jours pour conserver les orchestrations ayant échoué. |
--terminated-days ou -t |
Nombre de jours pendant lesquels conserver les orchestrations terminées. |
Exemple de réponse
Si la création réussit, vous recevez la réponse suivante.
{
"id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/retentionPolicies/default",
"name": "default",
"properties": {
"provisioningState": "Succeeded",
"retentionPolicies": [
{
"retentionPeriodInDays": 1
},
{
"orchestrationState": "Completed",
"retentionPeriodInDays": 0
},
{
"orchestrationState": "Failed",
"retentionPeriodInDays": 60
}
]
},
"resourceGroup": "RESOURCE_GROUP",
"systemData": {
"createdAt": "2025-04-23T23:41:17.3165122Z",
"createdBy": "someone@microsoft.com",
"createdByType": "User",
"lastModifiedAt": "2025-04-23T23:41:17.3165122Z",
"lastModifiedBy": "someone@microsoft.com",
"lastModifiedByType": "User"
},
"type": "microsoft.durabletask/schedulers/retentionpolicies"
}
Conseil / Astuce
En savoir plus sur la commande de stratégie de rétention via la référence CLI.
Afficher la stratégie actuelle
Récupérez la stratégie de rétention actuelle pour un planificateur :
az durabletask retention-policy show --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP
Désactiver l'auto-purge
Supprimez les stratégies de rétention à l’aide de la commande suivante. Le planificateur de tâches durables cesse de nettoyer les données d’orchestration dans les 5 à 10 minutes.
az durabletask retention-policy delete --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP