Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby zapobiec osiągnięciu limitu pamięci jednostki pojemności (CU), zalecamy okresowe przeczyszczanie danych historii aranżacji. Durable Task Scheduler oferuje lekką, konfigurowalną funkcję automatycznego czyszczenia, która ułatwia zarządzanie usuwaniem danych orkiestracji bez ręcznej interwencji.
| Setting | Wartość domyślna |
|---|---|
| Automatyczne czyszczenie | Włączone |
| Domyślny okres przechowywania | 30 dni |
| Maksymalny okres przechowywania | 90 dni |
| Dotyczy | Wszystkie węzły zadań w harmonogramatorze |
| Kwalifikujące się stany |
Completed, , Failed, , CanceledTerminated |
Autopurge działa asynchronicznie w tle, jest zoptymalizowany do minimalizowania użycia zasobów systemowych i zapobiegania zakłóceniom w innych operacjach Durable Task. Chociaż autopurge nie przestrzega ścisłego harmonogramu, jego współczynnik oczyszczania zazwyczaj jest zgodny z częstotliwością harmonogramowania orkiestracji.
Jak to działa
Autopurge jest domyślnie włączona z 30-dniowymi zasadami, ale można ją dostosować. Można go zmodyfikować, definiując zasady przechowywania, które określają, jak długo mają być zachowywane dane aranżacji dla określonych stanów. Funkcja automatycznego czyszczenia usuwa dane orkiestracji, które są w stanach końcowych. Stan terminalu oznacza, że orkiestracja osiągnęła stan końcowy i nie będzie już planować zadań, przetwarzać zdarzeń ani generować zadań do wykonania. Statusy terminalu obejmują:
CompletedFailedCanceledTerminated
Wystąpienia orkiestracji kwalifikujące się do autopurge są zgodne z wystąpieniami docelowymi interfejsu API Durable SDK PurgeInstancesAsync.
Autopurge ignoruje dane dotyczące orkiestracji skojarzone ze stanami nieterminalnymi. Stany nieterminalne wskazują, że instancja orkiestracji jest albo aktywnie wykonywana, wstrzymana, albo w stanie, w którym może zostać wznowiona w przyszłości (oczekując na zdarzenia zewnętrzne lub zegary). Stanami nieterminalnymi są:
PendingRunningSuspendedContinued_As_New
Uwaga / Notatka
Orkiestracje przy użyciu ContinueAsNew nie są uznawane za ostateczne.
ContinueAsNew Ponownie uruchamia orkiestrację przy użyciu nowej historii uruchomienia, zachowując identyfikator wystąpienia, więc te wystąpienia nie są czyszczone, dopóki nie osiągną rzeczywistego stanu końcowego.
Uwaga / Notatka
Możesz zauważyć różne nazewnictwo w interfejsach API i pakietach SDK: ContinueAsNew to wywołanie interfejsu API orkiestracji, natomiast wartości stanu środowiska uruchomieniowego są przedstawiane jako ContinuedAsNew (w pakietach SDK) lub Continued_As_New (w ładunkach service/REST). Niektóre starsze typy klientów .NET w trakcie procesu są oznaczone jako przestarzałe, ale ta zmiana nie wpływa na zachowanie automatycznego czyszczenia: instancje kontynuowane jako nowe pozostają nieterminalne i nie są usuwane, dopóki nie osiągną stanu terminalnego.
Po włączeniu autopurge okresowo usuwa dane aranżacji starsze niż ustawiony okres przechowywania. Autopurge usuwa tylko dane dla orkiestracji w końcowych statusach.
Uwaga / Notatka
Zdefiniowane zasady przechowywania są stosowane do wszystkich centrów zadań w harmonogramie.
Konfigurowanie zasad przechowywania
Zakres wartości zasad
Wartości przechowywania są określane w dniach i mogą wahać się od 0 (przeczyszczanie tak szybko, jak to możliwe) do 90 dni. Domyślnie automatyczne przechowywanie jest ustawione na 30 dni.
Okres przechowywania rozpoczyna się, gdy orkiestracja wchodzi w stan końcowy, a nie podczas jej tworzenia. Jeśli na przykład ustawisz wartość przechowywania 1 dzień, a aranżacja potrwa 10 dni, autopurge usunie ją 1 dzień po zakończeniu.
Domyślne i szczegółowe typy zasad
Podczas konfigurowania zasad automatycznego przechowywania można ustawić określone lub domyślne zasady.
Domyślne zasady czyszczą dane orkiestracji niezależnie od
orchestrationState. Następujące dane orkiestracji zasad obejmują wszystkie stany objęte tą funkcją po 2 dniach:{ "retentionPeriodInDays": 2 }Określone zasady definiują usuwanie danych koordynacji dla określonego elementu
orchestrationState. Polityka opisana poniżej informuje program Durable Task Scheduler o zachowaniu ukończonych danych orkiestracji przez 1 dzień, po czym te dane są usuwane.{ "retentionPeriodInDays": 1, "orchestrationState": "Completed" }
Dodaj konkretne zasady, aby nadpisać domyślne zasady zastosowane do orkiestracji. W poniższym przykładzie drugie i trzecie zasady zastępują zasady domyślne ("retentionPeriodInDays": 1).
Dane skojarzone z aranżacjami
completedsą usuwane tak szybko, jak to możliwe.Dane skojarzone z aranżacjami
failedsą czyszczone po 60 dniach.[ { "retentionPeriodInDays": 1 }, { "retentionPeriodInDays": 0, "orchestrationState": "Completed" }, { "retentionPeriodInDays": 60, "orchestrationState": "Failed" } ]
Ponieważ nie ustawiono żadnych konkretnych zasad ani canceledterminated aranżacji, domyślne zasady nadal dotyczą tych zasad, przeczyszczając dane po upływie 1 dnia.
Włącz automatyczne czyszczenie
Zasady przechowywania można zdefiniować przy użyciu następujących metod:
- Stała konsola dla zadań
- Azure Resource Manager (ARM)
- Bicep
Upewnij się, że masz najnowszą wersję rozszerzenia interfejsu wiersza polecenia rozszerzenia Durable Task.
az extension add --name durabletask
az extension update --name durabletask
Utwórz lub zaktualizuj zasady przechowywania, uruchamiając następujące polecenie.
az durabletask retention-policy create --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP --default-days 1 --completed-days 0 --failed-days 60
Poniższe właściwości określają czas przechowywania dla danych orkiestracji różnych statusów.
| Majątek | Opis |
|---|---|
--canceled-days lub -x |
Liczba dni przechowywania anulowanych orkiestracji. |
--completed-days lub -c |
Liczba dni przechowywania ukończonych aranżacji. |
--default-days lub -d |
Liczba dni przechowywania orkiestracji. |
--failed-days lub -f |
Liczba dni przechowywania aranżacji zakończonych niepowodzeniem. |
--terminated-days lub -t |
Liczba dni przechowywania zakończonych aranżacji. |
Przykładowa odpowiedź
Jeśli tworzenie zakończy się pomyślnie, otrzymasz następującą odpowiedź.
{
"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"
}
Wskazówka
Dowiedz się więcej o poleceniu dotyczącym zasad przechowywania, korzystając z dokumentacji CLI.
Wyświetlanie bieżących zasad
Pobierz bieżące zasady przechowywania dla harmonogramu:
az durabletask retention-policy show --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP
Wyłącz autopurge
Usuń zasady przechowywania przy użyciu następującego polecenia. Planista trwałych zadań zatrzymuje proces czyszczenia danych orkiestracji w przeciągu 5 do 10 minut.
az durabletask retention-policy delete --scheduler-name SCHEDULER_NAME --resource-group RESOURCE_GROUP