From 1aee05d82f6377006c546d82dfe07ea9c279f5b2 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sun, 3 Jan 2021 19:19:03 +0100 Subject: [PATCH] Add logging to Timer --- .../Elsa.Activities.Timers/Activities/Timer/Timer.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs b/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs index ef81bc149..349530e0d 100644 --- a/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs +++ b/src/activities/Elsa.Activities.Timers/Activities/Timer/Timer.cs @@ -3,6 +3,7 @@ using Elsa.ActivityResults; using Elsa.Attributes; using Elsa.Services; using Elsa.Services.Models; +using Microsoft.Extensions.Logging; using NodaTime; // ReSharper disable once CheckNamespace @@ -12,10 +13,12 @@ namespace Elsa.Activities.Timers public class Timer : Activity, IReschedule { private readonly IClock _clock; + private readonly ILogger _logger; - public Timer(IClock clock) + public Timer(IClock clock, ILogger logger) { _clock = clock; + _logger = logger; } [ActivityProperty(Hint = "The time interval at which this activity should tick.")] @@ -34,9 +37,12 @@ namespace Elsa.Activities.Timers var now = _clock.GetCurrentInstant(); ExecuteAt = now.Plus(Timeout); - + if (ExecuteAt <= now) + { + _logger.LogDebug("Scheduled trigger time lies in the past ('{Delta}'). Skipping scheduling.", now - ExecuteAt); return Done(); + } return Combine(Suspend(), new ScheduleWorkflowResult(ExecuteAt.Value)); }