Wakeup issue ?
- 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