use cancellation tokens in many places (#2350)

* use cancellation tokens everywhere

* more cancellation tokens
This commit is contained in:
Jason Dove
2025-08-27 03:20:35 +00:00
committed by GitHub
parent a6198892f0
commit 1c07df5bc3
356 changed files with 3430 additions and 2454 deletions
@@ -9,7 +9,7 @@ namespace ErsatzTV.Core.Scheduling.ScriptedScheduling.Modules;
[SuppressMessage("Usage", "VSTHRD002:Avoid problematic synchronous waits")]
[SuppressMessage("ReSharper", "InconsistentNaming")]
[SuppressMessage("ReSharper", "UnusedMember.Global")]
public class ContentModule(ISchedulingEngine schedulingEngine)
public class ContentModule(ISchedulingEngine schedulingEngine, CancellationToken cancellationToken)
{
public void add_search(string key, string query, string order)
{
@@ -18,7 +18,7 @@ public class ContentModule(ISchedulingEngine schedulingEngine)
return;
}
schedulingEngine.AddSearch(key, query, playbackOrder).GetAwaiter().GetResult();
schedulingEngine.AddSearch(key, query, playbackOrder, cancellationToken).GetAwaiter().GetResult();
}
public void add_collection(string key, string collection, string order)
@@ -28,7 +28,7 @@ public class ContentModule(ISchedulingEngine schedulingEngine)
return;
}
schedulingEngine.AddCollection(key, collection, playbackOrder).GetAwaiter().GetResult();
schedulingEngine.AddCollection(key, collection, playbackOrder, cancellationToken).GetAwaiter().GetResult();
}
public void add_marathon(
@@ -84,12 +84,15 @@ public class ContentModule(ISchedulingEngine schedulingEngine)
return;
}
schedulingEngine.AddMultiCollection(key, multi_collection, playbackOrder).GetAwaiter().GetResult();
schedulingEngine
.AddMultiCollection(key, multi_collection, playbackOrder, cancellationToken)
.GetAwaiter()
.GetResult();
}
public void add_playlist(string key, string playlist, string playlist_group)
{
schedulingEngine.AddPlaylist(key, playlist, playlist_group).GetAwaiter().GetResult();
schedulingEngine.AddPlaylist(key, playlist, playlist_group, cancellationToken).GetAwaiter().GetResult();
}
public void add_smart_collection(string key, string smart_collection, string order)
@@ -99,7 +102,10 @@ public class ContentModule(ISchedulingEngine schedulingEngine)
return;
}
schedulingEngine.AddSmartCollection(key, smart_collection, playbackOrder).GetAwaiter().GetResult();
schedulingEngine
.AddSmartCollection(key, smart_collection, playbackOrder, cancellationToken)
.GetAwaiter()
.GetResult();
}
public void add_show(string key, PythonDictionary guids, string order)
@@ -9,7 +9,7 @@ namespace ErsatzTV.Core.Scheduling.ScriptedScheduling.Modules;
[SuppressMessage("Usage", "VSTHRD002:Avoid problematic synchronous waits")]
[SuppressMessage("ReSharper", "InconsistentNaming")]
[SuppressMessage("ReSharper", "UnusedMember.Global")]
public class PlayoutModule(ISchedulingEngine schedulingEngine)
public class PlayoutModule(ISchedulingEngine schedulingEngine, CancellationToken cancellationToken)
{
public int FailureCount { get; private set; }
@@ -202,7 +202,7 @@ public class PlayoutModule(ISchedulingEngine schedulingEngine)
}
schedulingEngine
.GraphicsOn([graphics], maybeVariables)
.GraphicsOn([graphics], maybeVariables, cancellationToken)
.GetAwaiter()
.GetResult();
}
@@ -218,7 +218,8 @@ public class PlayoutModule(ISchedulingEngine schedulingEngine)
schedulingEngine
.GraphicsOn(
graphics.Select(g => g.ToString()).ToList(),
maybeVariables)
maybeVariables,
cancellationToken)
.GetAwaiter()
.GetResult();
}
@@ -227,17 +228,20 @@ public class PlayoutModule(ISchedulingEngine schedulingEngine)
{
if (string.IsNullOrWhiteSpace(graphics))
{
schedulingEngine.GraphicsOff([]).GetAwaiter().GetResult();
schedulingEngine.GraphicsOff([], cancellationToken).GetAwaiter().GetResult();
}
else
{
schedulingEngine.GraphicsOff([graphics]).GetAwaiter().GetResult();
schedulingEngine.GraphicsOff([graphics], cancellationToken).GetAwaiter().GetResult();
}
}
public void graphics_off(PythonList graphics)
{
schedulingEngine.GraphicsOff(graphics.Select(g => g.ToString()).ToList()).GetAwaiter().GetResult();
schedulingEngine
.GraphicsOff(graphics.Select(g => g.ToString()).ToList(), cancellationToken)
.GetAwaiter()
.GetResult();
}
public void watermark_on(string watermark)