You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recyclarr/src/Recyclarr.Cli/Processors/Sync/SyncPipelineExecutor.cs

37 lines
969 B

using Recyclarr.Cli.Console.Settings;
using Recyclarr.Cli.Pipelines;
using Recyclarr.Config.Models;
namespace Recyclarr.Cli.Processors.Sync;
public class SyncPipelineExecutor
{
private readonly ILogger _log;
private readonly IOrderedEnumerable<ISyncPipeline> _pipelines;
private readonly IEnumerable<IPipelineCache> _caches;
public SyncPipelineExecutor(
ILogger log,
IOrderedEnumerable<ISyncPipeline> pipelines,
IEnumerable<IPipelineCache> caches)
{
_log = log;
_pipelines = pipelines;
_caches = caches;
}
public async Task Process(ISyncSettings settings, IServiceConfiguration config)
{
foreach (var cache in _caches)
{
cache.Clear();
}
foreach (var pipeline in _pipelines)
{
_log.Debug("Executing Pipeline: {Pipeline}", pipeline.GetType().Name);
await pipeline.Execute(settings, config);
}
}
}