User Tasks
Der UserTaskClient ermöglicht das Abfragen, Reservieren und Abschließen von User Tasks aus BPMN-Prozessen.
Client erstellen
using ProcessCube.Engine;
IUserTaskClient client = ClientFactory.CreateUserTaskClient(engineUrl, identityAccessor);User Tasks abfragen
QueryAsync
IReadOnlyList<UserTask> tasks = await client.QueryAsync(options =>
{
options.FilterByProcessInstanceId("instance-id");
options.FilterByState(UserTaskState.Running);
}, ct);Verfügbare Filter
| Filter | Beschreibung |
|---|---|
FilterByProcessInstanceId | Nach Prozessinstanz filtern |
FilterByState | Nach Status filtern (Running, Finished) |
User Task abschließen
FinishUserTaskAsync
UserTaskResult result = new(new Dictionary<string, object>
{
["approved"] = true,
["comment"] = "Freigegeben"
});
await client.FinishUserTaskAsync(tasks.First(), result, ct);Subscription
Auf neue User Tasks warten
ISubscription subscription = client.SubscribeForPendingUserTask(
userTasks => Console.WriteLine($"{userTasks.Count()} Tasks warten"),
new SubscriptionSettings { SubscribeOnce = false },
ct);Mit SubscribeOnce = false wird der Callback bei jedem neuen User Task aufgerufen. Mit SubscribeOnce = true nur beim ersten.
Nächste Schritte
- Prozess-Verwaltung — Prozesse starten und abfragen
- External Task Workers — Geschäftslogik an Prozesse anbinden