Azure / Azure/durabletask

Wakeup issue ?

Aperta
#384 8 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C#
Stelle
1.7k
Fork
335
Merge medio
2g 23h
PR unite (30g)
6

Descrizione

Hello,

On our team we are using durable task framework to process the launch of different powershell scripts.
We are facing an issue we are not able to understand. Our worker is running 24/7 waiting for commands to be sent, be sometimes, after a long period without any activity, it gets lost.

Any command sent to the worker running durable task framework is lost and we get no reaction from the worker. We need to restart it and all the commands sent while it was in this state are lost.
Are we doing something wrong ?

Here is the part that send the command from the API :
```
var instance = await _workFlowManager.GetClient().CreateOrchestrationInstanceAsync("PowerShellOrchestration",
"V1",
domainEvent.Operation.Id.ToString(),
orchestratorInput);

OrchestrationState taskResult = await _workFlowManager.GetClient().WaitForOrchestrationAsync(instance, TimeSpan.FromSeconds(5), CancellationToken.None);
```

And here is the StartAsync method code for the worker :
```
IOrchestrationServiceInstanceStore instanceStore = new AzureTableInstanceStore(taskHubName, storageConnectionString);

var orchestrationServiceAndClient = new ServiceBusOrchestrationService(serviceBusConnectionString, taskHubName, instanceStore, null, null);

await orchestrationServiceAndClient.CreateIfNotExistsAsync();

_taskHub = new TaskHubWorker(orchestrationServiceAndClient);

_taskHub.AddTaskOrchestrations(new NameValueObjectCreator("PowerShellOrchestration",
"V1",
typeof(CreateOperationOrchestration)));

_taskHub.AddTaskActivities(new ObjectCreator[]
{
new WorkerObjectCreator(typeof(ChangeOperationStatusActivity), _mediatr),
new WorkerObjectCreator(typeof(LaunchPowerShellActivity), _mediatr),
});

await _taskHub.StartAsync();
```

Thank's for your help

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Iniziate esaminando le chiamate CreateOrchestrationInstanceAsync e WaitForOrchestrationAsync insieme alla configurazione StartAsync del worker, quindi riproducete il comportamento del worker dopo un lungo periodo di inattività. Confrontate la consegna dei comandi prima e dopo il fallimento e documentate una causa confermata, la risoluzione e i passaggi di test o riproduzione che dimostrino che i comandi non vengono più persi.

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

Valutazione

Stack tecnologico
azure, csharp, powershell
Ambito
backend, cloud, distributed-systems
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.