diff --git a/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs b/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs index 50cd69f82..466d585bd 100644 --- a/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs +++ b/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs @@ -32,11 +32,12 @@ namespace Elsa.Activities.Timers if (context.WorkflowExecutionContext.IsFirstPass) return Done(); - if (Timeout <= Duration.Zero) + var now = _clock.GetCurrentInstant(); + ExecuteAt = now.Plus(Timeout); + + if (ExecuteAt <= now) return Done(); - ExecuteAt = _clock.GetCurrentInstant().Plus(Timeout); - return Combine(Suspend(), new ScheduleWorkflowResult(ExecuteAt.Value)); }