Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para evitar atingir o limite de memória de uma unidade de capacidade (CU), recomendamos eliminar periodicamente os dados do histórico de orquestração. O Agendador de Tarefas Duráveis oferece um recurso de autopurga leve e configurável que ajuda você a gerenciar a limpeza de dados de orquestração sem intervenção manual.
| Setting | Valor padrão |
|---|---|
| Limpeza automática | habilitado |
| Período de retenção padrão | 30 dias |
| Período de retenção máximo | 90 dias |
| Aplicável a | Todos os hubs de tarefas no agendador |
| Status elegíveis |
Completed, Failed, , CanceledTerminated |
A limpeza automática opera de forma assíncrona e em segundo plano, otimizada para minimizar o uso de recursos do sistema e evitar interferências com outras operações de Tarefa Durável. Embora a limpeza automática não siga um cronograma rígido, sua frequência de limpeza geralmente se alinha à frequência de agendamento da sua orquestração.
Como funciona
A autopurga é habilitada por padrão com uma política de 30 dias, mas pode ser personalizada. Você pode modificá-lo definindo políticas de retenção que especificam por quanto tempo manter os dados de orquestração para certos status. O recurso de limpeza automática remove os dados de orquestração que estão em status terminais. Um estado terminal significa que a orquestração atingiu um estado final e não agendará mais tarefas, não processará eventos, nem gerará itens de trabalho. Os status do terminal incluem:
CompletedFailedCanceledTerminated
As instâncias de orquestração qualificadas para a compra automática correspondem às direcionadas pela API PurgeInstancesAsync do SDK Durável.
Autopurge ignora os dados de orquestração associados a status não terminais. Os status não terminais indicam que a instância de orquestração está sendo executada ativamente, pausada ou em um estado em que pode ser retomada no futuro (aguardando eventos externos ou temporizadores). Os status não terminais incluem:
PendingRunningSuspendedContinued_As_New
Observação
Orquestrações utilizando ContinueAsNew não são consideradas terminais.
ContinueAsNew reinicia a orquestração com um novo histórico de execução preservando a ID da instância, para que essas instâncias não sejam limpas até atingirem um estado terminal verdadeiro.
Uma vez ativado, o autopurge exclui periodicamente os dados de orquestração mais antigos do que o período de retenção definido. A limpeza automática remove apenas os dados das orquestrações que se encontram em status finais.
Observação
As políticas de retenção definidas são aplicadas a todos os hubs de tarefas em um agendador.
Configurar políticas de retenção
Intervalo de valores de política
Os valores de retenção são especificados em dias e podem variar de 0 (limpeza o mais rápido possível) a 90 dias. Por padrão, a retenção de purga automática é definida como 30 dias.
O período de retenção começa quando a orquestração entra em um estado terminal, não quando foi criada. Por exemplo, se você definir um valor de retenção de 1 dia e uma orquestração levar 10 dias para ser concluída, a limpeza automática a excluirá 1 dia após a conclusão.
Tipos de política padrão e específicos
Ao configurar uma política de retenção de redefinição automática, você pode definir uma política específica ou padrão.
A política padrão limpa os dados de orquestração independentemente de
orchestrationState. A política a seguir limpa os dados de orquestração de todos os status cobertos pelo recurso após 2 dias:{ "retentionPeriodInDays": 2 }A política específica define a limpeza de dados de orquestração para
orchestrationStateespecíficos. A política a seguir instrui o Agendador de Tarefas Duráveis a manter os dados de orquestração concluídos durante um dia, após o qual esses dados são removidos.{ "retentionPeriodInDays": 1, "orchestrationState": "Completed" }
Adicione políticas específicas para substituir a política padrão aplicada às orquestrações. No exemplo a seguir, a segunda e a terceira políticas substituem a política padrão ("retentionPeriodInDays": 1).
Os dados associados às orquestrações
completedsão excluídos assim que possível.Os dados associados às orquestrações
failedsão eliminados após 60 dias.[ { "retentionPeriodInDays": 1 }, { "retentionPeriodInDays": 0, "orchestrationState": "Completed" }, { "retentionPeriodInDays": 60, "orchestrationState": "Failed" } ]
Como nenhuma política específica está definida para canceled ou terminated orquestrações, a política padrão ainda se aplica a elas, eliminando seus dados após um dia.
Habilitar a autopurga
Você pode definir políticas de retenção usando:
- CLI da Tarefa Durável
- ARM (Azure Resource Manager)
- Bíceps
Certifique-se de que você tem a versão mais recente da extensão CLI de Tarefas Duráveis.
az extension add --name durabletask
az extension update --name durabletask
Crie ou atualize a política de retenção executando o comando a seguir.
az durabletask retention-policy create --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP --default-days 1 --completed-days 0 --failed-days 60
As propriedades a seguir especificam a duração da retenção dos dados de orquestração com diferentes status.
| Propriedade | Descrição |
|---|---|
--canceled-days ou -x |
O número de dias para manter orquestrações canceladas. |
--completed-days ou -c |
O número de dias para manter orquestrações concluídas. |
--default-days ou -d |
O número de dias para reter orquestrações. |
--failed-days ou -f |
O número de dias para manter orquestrações com falha. |
--terminated-days ou -t |
O número de dias para reter orquestrações encerradas. |
Resposta de exemplo
Se a criação for bem-sucedida, você receberá a resposta a seguir.
{
"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"
}
Dica
Saiba mais sobre o comando de política de retenção por meio da referência da CLI.
Exibir a política atual
Recupere a política de retenção atual para um agendador:
az durabletask retention-policy show --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP
Desativar autopurge
Exclua as políticas de retenção usando o comando a seguir. O Agendador de Tarefas Duráveis interrompe a limpeza de dados de orquestração dentro de 5 a 10 minutos.
az durabletask retention-policy delete --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP