Azure / Azure/durabletask

Support Graceful Termination of Orchestrations and Activities using CancellationToken

Aperta
#784 5 commenti 3 reazioni 0 assegnatari Vedi su GitHub
dt.core enhancement
Lingua principale
C#
Stelle
1.7k
Fork
335
Merge medio
2g 23h
PR unite (30g)
6

Descrizione

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);
}
}
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia dal punto di ingresso TaskHubWorker.StartAsync(cancellationToken) e segui come vengono distribuiti TaskActivities e TaskOrchestrations. Esamina la discussione correlata in #565 e determina come il token fornito dallo sviluppatore debba raggiungere context.CancellationToken. Il lavoro è completato quando le attività e le orchestrazioni in esecuzione possono osservare il token e terminare correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
distributed-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.