Azure / Azure/durabletask

Wakeup issue ?

Offen
#384 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
1.7k
Forks
335
Ø Merge
2 T. 23 Std.
Gemergte PRs (30 T.)
6

Beschreibung

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie mit der Überprüfung der Aufrufe CreateOrchestrationInstanceAsync und WaitForOrchestrationAsync zusammen mit der StartAsync-Einrichtung des Workers und reproduzieren Sie anschließend das Verhalten des Workers nach einer langen Leerlaufzeit. Vergleichen Sie die Befehlszustellung vor und nach dem Fehler und dokumentieren Sie eine bestätigte Ursache, Lösung sowie Test- oder Reproduktionsschritte, die zeigen, dass Befehle nicht mehr verloren gehen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, csharp, powershell
Bereich
backend, cloud, distributed-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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