< Summary

Information
Class: Elsa.Scheduling.HostedServices.CreateSchedulesBackgroundTask
Assembly: Elsa.Scheduling
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Scheduling/HostedServices/CreateSchedulesBackgroundTask.cs
Line coverage
100%
Covered lines: 18
Uncovered lines: 0
Coverable lines: 18
Total lines: 35
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
ExecuteAsync()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Scheduling/HostedServices/CreateSchedulesBackgroundTask.cs

#LineLine coverage
 1using Elsa.Common;
 2using Elsa.Workflows.Runtime;
 3using Elsa.Workflows.Runtime.Filters;
 4using JetBrains.Annotations;
 5
 6namespace Elsa.Scheduling.HostedServices;
 7
 8/// <summary>
 9/// Creates new schedules when using the default scheduler (which doesn't have its own persistence layer like Quartz or 
 10/// </summary>
 11[UsedImplicitly]
 2812public class CreateSchedulesBackgroundTask(ITriggerStore triggerStore, IBookmarkStore bookmarkStore, ITriggerScheduler t
 13{
 14    /// <inheritdoc />
 15    public override async Task ExecuteAsync(CancellationToken stoppingToken)
 16    {
 2817        var stimulusNames = new[]
 2818        {
 2819            SchedulingStimulusNames.Cron, SchedulingStimulusNames.Timer, SchedulingStimulusNames.StartAt, SchedulingStim
 2820        };
 2821        var triggerFilter = new TriggerFilter
 2822        {
 2823            Names = stimulusNames
 2824        };
 2825        var bookmarkFilter = new BookmarkFilter
 2826        {
 2827            Names = stimulusNames
 2828        };
 2829        var triggers = (await triggerStore.FindManyAsync(triggerFilter, stoppingToken)).ToList();
 2830        var bookmarks = (await bookmarkStore.FindManyAsync(bookmarkFilter, stoppingToken)).ToList();
 31
 2832        await triggerScheduler.ScheduleAsync(triggers, stoppingToken);
 2833        await bookmarkScheduler.ScheduleAsync(bookmarks, stoppingToken);
 2834    }
 35}