Azure / Azure/durabletask

Support Graceful Termination of Orchestrations and Activities using CancellationToken

Offen
#784 5 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
dt.core enhancement
Vorherrschende Sprache
C#
Sterne
1.7k
Forks
335
Ø Merge
2 T. 23 Std.
Gemergte PRs (30 T.)
6

Beschreibung

Similar to #565 , it would be greate if TaskActivities/TaskOrchestrations could be dispatched with a developer-provided cancellation token.

For example, if we could provide a cancellation token as part of `StartAsync` on a single worker node, that can be propagated to dispatched orchestrations/activities to allow developers have more control over termination of running activities/orchestrations.

```c#
taskHubWorker.StartAsync(cancellationToken);
```

An example use case would be interface activities:

```c#
public interface IInterfaceTask
{
Task WorkAsync(CancellationToken cancellationToken);
}

public class Orchestration : TaskOrchestration
{
public Task RunTask(OrchestrationContext context, bool input)
{
var interfaceTask = context.CreateClient();
await interfaceTask.WorkAsync(context.CancellationToken);
}
}
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie am Einstiegspunkt TaskHubWorker.StartAsync(cancellationToken) und verfolgen Sie, wie TaskActivities und TaskOrchestrations verteilt werden. Prüfen Sie die zugehörige Diskussion in #565 und bestimmen Sie, wie das vom Entwickler bereitgestellte Token context.CancellationToken erreichen soll. Als abgeschlossen gilt die Aufgabe, wenn laufende Aktivitäten und Orchestrierungen das Token beobachten und ordnungsgemäß beendet werden können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
distributed-systems
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.