From f1ff916b70082a3190117ca6834b8b44b518fd97 Mon Sep 17 00:00:00 2001 From: Chris Anderson Date: Sun, 17 Nov 2019 17:21:05 -0600 Subject: [PATCH] Async cron --- Fibrous.WPF/Fibrous.WPF.3.0.1-beta.nupkg | Bin 0 -> 4297 bytes Fibrous.WPF/package.nuspec | 4 +-- Fibrous/Fibrous.3.0.1-beta.nupkg | Bin 0 -> 48800 bytes Fibrous/IAsyncFiber.cs | 32 +++++++++++++++++++++++ Fibrous/IFiber.cs | 1 + Todo.txt | 1 - 6 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 Fibrous.WPF/Fibrous.WPF.3.0.1-beta.nupkg create mode 100644 Fibrous/Fibrous.3.0.1-beta.nupkg diff --git a/Fibrous.WPF/Fibrous.WPF.3.0.1-beta.nupkg b/Fibrous.WPF/Fibrous.WPF.3.0.1-beta.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..979a88dc7669262e30afa4707ac96d97c74f8bad GIT binary patch literal 4297 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 literal 0 HcmV?d00001 diff --git a/Fibrous.WPF/package.nuspec b/Fibrous.WPF/package.nuspec index e9618c6..461ef32 100644 --- a/Fibrous.WPF/package.nuspec +++ b/Fibrous.WPF/package.nuspec @@ -3,7 +3,7 @@ Fibrous.WPF - 3.0.0-beta + 3.0.1-beta Chris Anderson chrisa23 http://github.com/chrisa23/fibrous @@ -12,7 +12,7 @@ Copyright ©2018 CA Anderson LLC concurrency actors multi-threading messaging WPF - + diff --git a/Fibrous/Fibrous.3.0.1-beta.nupkg b/Fibrous/Fibrous.3.0.1-beta.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..57738a4d97fe74e4607a18c44889230482a49c32 GIT binary patch literal 48800 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 literal 0 HcmV?d00001 diff --git a/Fibrous/IAsyncFiber.cs b/Fibrous/IAsyncFiber.cs index 36d83b9..7eda2b2 100644 --- a/Fibrous/IAsyncFiber.cs +++ b/Fibrous/IAsyncFiber.cs @@ -49,7 +49,39 @@ public interface IAsyncExecutor { Task Execute(Func toExecute); } + public static class AsyncSchedulerExtensions + { + /// + /// Schedule an action at a DateTime + /// + /// + /// + /// + /// + public static IDisposable Schedule(this IAsyncScheduler scheduler, Func action, DateTime when) + { + return scheduler.Schedule(action, when - DateTime.Now); + } + + /// + /// Schedule an action at a DateTime with an interval + /// + /// + /// + /// + /// + /// + public static IDisposable Schedule(this IAsyncScheduler scheduler, Func action, DateTime when, TimeSpan interval) + { + return scheduler.Schedule(action, when - DateTime.Now, interval); + } + + public static IDisposable CronSchedule(this IAsyncScheduler scheduler, Func action, string cron) + { + return new AsyncCronScheduler(scheduler, action, cron); + } + } public static class AsyncFiberExtensions { /// diff --git a/Fibrous/IFiber.cs b/Fibrous/IFiber.cs index 0c70e35..2e5f0f8 100644 --- a/Fibrous/IFiber.cs +++ b/Fibrous/IFiber.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Threading.Tasks; namespace Fibrous { diff --git a/Todo.txt b/Todo.txt index 5e42609..6e4073c 100644 --- a/Todo.txt +++ b/Todo.txt @@ -2,5 +2,4 @@ - better Req/reply tests - add multi producer tests - add queue full tests -- add cron scheduling - clean up ctors to allow injection of schedulers \ No newline at end of file