Refactor incident creation to include NodeId and remove duplication
Replaced `activity.Id` with `activity.NodeId` in incident creation for enhanced context. Removed redundant `LogExceptionAndTransition` method by consolidating logic into existing workflow, reducing duplication and improving maintainability.
This commit is contained in:
parent
4266421a4c
commit
2ce5bbfbf1
|
|
@ -318,7 +318,7 @@ public static partial class ActivityExecutionContextExtensions
|
|||
var exceptionState = ExceptionState.FromException(e);
|
||||
var systemClock = context.GetRequiredService<ISystemClock>();
|
||||
var now = systemClock.UtcNow;
|
||||
var incident = new ActivityIncident(activity.Id, activity.Type, e.Message, exceptionState, now);
|
||||
var incident = new ActivityIncident(activity.Id, activity.NodeId, activity.Type, e.Message, exceptionState, now);
|
||||
context.WorkflowExecutionContext.Incidents.Add(incident);
|
||||
context.AggregateFaultCount++;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,17 +37,6 @@ public class ExceptionHandlingMiddleware(ActivityMiddlewareDelegate next, IIncid
|
|||
}
|
||||
}
|
||||
|
||||
private void LogExceptionAndTransition(ActivityExecutionContext context, Exception e)
|
||||
{
|
||||
context.Exception = e;
|
||||
context.TransitionTo(ActivityStatus.Faulted);
|
||||
var activity = context.Activity;
|
||||
var exceptionState = ExceptionState.FromException(e);
|
||||
var now = systemClock.UtcNow;
|
||||
var incident = new ActivityIncident(activity.Id, activity.NodeId ,activity.Type, e.Message, exceptionState, now);
|
||||
context.WorkflowExecutionContext.Incidents.Add(incident);
|
||||
}
|
||||
|
||||
private async Task HandleIncidentAsync(ActivityExecutionContext context)
|
||||
{
|
||||
var strategy = await incidentStrategyResolver.ResolveStrategyAsync(context);
|
||||
|
|
|
|||
Loading…
Reference in a new issue