From 282ef24446133d67b8a26518590a29bd06cf113f Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 23 Jun 2023 18:38:57 +0200 Subject: [PATCH] Cleanup schedulers (#4160) * Cleanup DefaultTriggerScheduler Remove unnecessary list variable. Remove unnecessary ToLists. * Cleanup DefaultBookmarkScheduler Remove unnecessary list variable. Remove unnecessary ToLists. --- .../Services/DefaultBookmarkScheduler.cs | 22 ++++++++----------- .../Services/DefaultTriggerScheduler.cs | 18 ++++++--------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/modules/Elsa.Scheduling/Services/DefaultBookmarkScheduler.cs b/src/modules/Elsa.Scheduling/Services/DefaultBookmarkScheduler.cs index a4126109c..d843e1b27 100644 --- a/src/modules/Elsa.Scheduling/Services/DefaultBookmarkScheduler.cs +++ b/src/modules/Elsa.Scheduling/Services/DefaultBookmarkScheduler.cs @@ -25,19 +25,17 @@ public class DefaultBookmarkScheduler : IBookmarkScheduler /// public async Task ScheduleAsync(IEnumerable bookmarks, CancellationToken cancellationToken = default) { - var bookmarkList = bookmarks.ToList(); - // Select all Delay bookmarks. - var delayBookmarks = bookmarkList.Filter().ToList(); + var delayBookmarks = bookmarks.Filter(); // Select all StartAt bookmarks. - var startAtBookmarks = bookmarkList.Filter().ToList(); + var startAtBookmarks = bookmarks.Filter(); // Select all Timer bookmarks. - var timerBookmarks = bookmarkList.Filter().ToList(); + var timerBookmarks = bookmarks.Filter(); // Select all Cron bookmarks. - var cronBookmarks = bookmarkList.Filter().ToList(); + var cronBookmarks = bookmarks.Filter(); // Schedule each Delay bookmark. foreach (var bookmark in delayBookmarks) @@ -83,19 +81,17 @@ public class DefaultBookmarkScheduler : IBookmarkScheduler /// public async Task ScheduleAsync(string workflowInstanceId, IEnumerable bookmarks, CancellationToken cancellationToken = default) { - var bookmarkList = bookmarks.ToList(); - // Select all Delay bookmarks. - var delayBookmarks = bookmarkList.Filter().ToList(); + var delayBookmarks = bookmarks.Filter(); // Select all StartAt bookmarks. - var startAtBookmarks = bookmarkList.Filter().ToList(); + var startAtBookmarks = bookmarks.Filter(); // Select all Timer bookmarks. - var timerBookmarks = bookmarkList.Filter().ToList(); + var timerBookmarks = bookmarks.Filter(); // Select all Cron bookmarks. - var cronBookmarks = bookmarkList.Filter().ToList(); + var cronBookmarks = bookmarks.Filter(); // Schedule each Delay bookmark. foreach (var bookmark in delayBookmarks) @@ -158,4 +154,4 @@ public class DefaultBookmarkScheduler : IBookmarkScheduler foreach (var bookmark in bookmarksToUnSchedule) await _workflowScheduler.UnscheduleAsync(bookmark.Id, cancellationToken); } -} \ No newline at end of file +} diff --git a/src/modules/Elsa.Scheduling/Services/DefaultTriggerScheduler.cs b/src/modules/Elsa.Scheduling/Services/DefaultTriggerScheduler.cs index ea2dddc05..761208eb4 100644 --- a/src/modules/Elsa.Scheduling/Services/DefaultTriggerScheduler.cs +++ b/src/modules/Elsa.Scheduling/Services/DefaultTriggerScheduler.cs @@ -25,12 +25,10 @@ public class DefaultTriggerScheduler : ITriggerScheduler /// public async Task ScheduleAsync(IEnumerable triggers, CancellationToken cancellationToken = default) { - var triggerList = triggers.ToList(); - // Select Timer, StartAt and Cron triggers. - var timerTriggers = triggerList.Filter().ToList(); - var startAtTriggers = triggerList.Filter().ToList(); - var cronTriggers = triggerList.Filter().ToList(); + var timerTriggers = triggers.Filter(); + var startAtTriggers = triggers.Filter(); + var cronTriggers = triggers.Filter(); // Schedule each Timer trigger. foreach (var trigger in timerTriggers) @@ -84,19 +82,17 @@ public class DefaultTriggerScheduler : ITriggerScheduler /// public async Task UnscheduleAsync(IEnumerable triggers, CancellationToken cancellationToken = default) { - var triggerList = triggers.ToList(); - // Select all Timer triggers. - var timerTriggers = triggerList.Filter().ToList(); + var timerTriggers = triggers.Filter(); // Select all StartAt triggers. - var startAtTriggers = triggerList.Filter().ToList(); + var startAtTriggers = triggers.Filter(); // Select all Cron triggers. - var cronTriggers = triggerList.Filter().ToList(); + var cronTriggers = triggers.Filter(); // Concatenate the filtered triggers. - var filteredTriggers = timerTriggers.Concat(startAtTriggers).Concat(cronTriggers).ToList(); + var filteredTriggers = timerTriggers.Concat(startAtTriggers).Concat(cronTriggers); // Unschedule each trigger. foreach (var trigger in filteredTriggers)