From 6855ab38a9f41e992118ad1d01340a36e16c481b Mon Sep 17 00:00:00 2001 From: Michael Brunner Date: Thu, 20 Oct 2022 18:58:59 +0200 Subject: [PATCH] Switching to DateTimeOffset and using nullable=enable. Fixed gitignore --- .gitignore | 39 +++++++++++++++--- .../.idea/indexLayout.xml | 2 +- .../DesignTimeBuild/.dtbcache.v2 | Bin 207101 -> 0 bytes .vs/AsyncScheduler/v16/.suo | Bin 87552 -> 0 bytes .../v16/TestStore/0/003.testlog | Bin 145559 -> 0 bytes .../v16/TestStore/0/testlog.manifest | Bin 24 -> 0 bytes .vs/DotNetAsyncScheduler/v16/.suo | Bin 14336 -> 0 bytes .../v16/TestStore/0/000.testlog | Bin 20 -> 0 bytes .../v16/TestStore/0/testlog.manifest | Bin 24 -> 0 bytes .vs/slnx.sqlite | Bin 950272 -> 0 bytes AsyncScheduler.sln.DotSettings | 7 +++- AsyncScheduler.sln.DotSettings.user | 7 ---- AsyncScheduler/AsyncScheduler.csproj | 4 +- AsyncScheduler/History/IJobHistory.cs | 10 ++--- AsyncScheduler/History/IJobHistoryEntry.cs | 2 +- AsyncScheduler/History/JobHistory.cs | 15 +++---- AsyncScheduler/History/JobHistoryEntry.cs | 13 +++--- AsyncScheduler/ISchedulerClock.cs | 9 ++-- AsyncScheduler/JobManager.cs | 15 ++++--- AsyncScheduler/JobStorage/InMemoryStorage.cs | 17 +++++--- .../QuickStart/QuickStartRequest.cs | 10 +++-- AsyncScheduler/QuickStartResult.cs | 3 ++ .../Restrictions/MutexRestriction.cs | 2 +- AsyncScheduler/Scheduler.cs | 25 ++++++----- AsyncScheduler/Schedules/ISchedule.cs | 3 +- AsyncScheduler/Schedules/IScheduleProvider.cs | 7 +--- .../Schedules/InstanceScheduleProvider.cs | 4 +- AsyncScheduler/Schedules/IntervalSchedule.cs | 10 ++--- .../IntervalScheduleWithRetryDelay.cs | 8 ++-- AsyncScheduler/Schedules/ScheduleEndless.cs | 6 +-- AsyncScheduler/Schedules/ScheduleNever.cs | 6 +-- AsyncScheduler/Schedules/ScheduleOnce.cs | 6 +-- .../Schedules/ScheduleOnceWithRetryDelay.cs | 6 +-- AsyncScheduler/Schedules/TimeSlotSchedule.cs | 10 ++--- AsyncSchedulerTest/AsyncSchedulerTest.csproj | 2 + AsyncSchedulerTest/JobManagerTest.cs | 24 +++++------ .../ConcurrentJobRestrictionTest.cs | 10 ++--- .../SchedulerMultipleJobsTest.cs | 21 +++++----- AsyncSchedulerTest/SchedulerOneJobTest.cs | 26 ++++++------ .../Schedules/IntervalScheduleTest.cs | 2 +- .../IntervalScheduleWithRetryDelayTest.cs | 2 +- .../ScheduleOnceWithRetryDelayTest.cs | 2 +- .../Schedules/TimeSlotScheduleTest.cs | 4 +- AsyncSchedulerTest/ShutdownJobTest.cs | 4 +- .../TestData/NotImplementedSchedule.cs | 4 +- AsyncSchedulerTest/TestUtils/TestActivator.cs | 8 ++-- BlazorAppExample/BlazorAppExample.csproj.user | 9 ---- BlazorAppExample/Pages/Index.razor | 2 +- BlazorAppExample/Program.cs | 6 --- BlazorAppExample/Startup.cs | 6 --- ConsoleExample/JobRestrictions.cs | 2 - ConsoleExample/Program.cs | 3 +- 52 files changed, 192 insertions(+), 191 deletions(-) delete mode 100644 .vs/AsyncScheduler/DesignTimeBuild/.dtbcache.v2 delete mode 100644 .vs/AsyncScheduler/v16/.suo delete mode 100644 .vs/AsyncScheduler/v16/TestStore/0/003.testlog delete mode 100644 .vs/AsyncScheduler/v16/TestStore/0/testlog.manifest delete mode 100644 .vs/DotNetAsyncScheduler/v16/.suo delete mode 100644 .vs/DotNetAsyncScheduler/v16/TestStore/0/000.testlog delete mode 100644 .vs/DotNetAsyncScheduler/v16/TestStore/0/testlog.manifest delete mode 100644 .vs/slnx.sqlite delete mode 100644 AsyncScheduler.sln.DotSettings.user delete mode 100644 BlazorAppExample/BlazorAppExample.csproj.user diff --git a/.gitignore b/.gitignore index add57be..c6cc67a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,34 @@ -bin/ -obj/ -/packages/ -riderModule.iml -/_ReSharper.Caches/ \ No newline at end of file +# Common IntelliJ Platform excludes + +# User specific +**/.idea/**/workspace.xml +**/.idea/**/tasks.xml +**/.idea/shelf/* +**/.idea/dictionaries +**/.idea/httpRequests/ + +# Sensitive or high-churn files +**/.idea/**/dataSources/ +**/.idea/**/dataSources.ids +**/.idea/**/dataSources.xml +**/.idea/**/dataSources.local.xml +**/.idea/**/sqlDataSources.xml +**/.idea/**/dynamic.xml + +# Rider +# Rider auto-generates .iml files, and contentModel.xml +**/.idea/**/*.iml +**/.idea/**/contentModel.xml +**/.idea/**/modules.xml + +*.suo +*.user +.vs/ +[Bb]in/ +[Oo]bj/ +_UpgradeReport_Files/ +[Pp]ackages/ + +Thumbs.db +Desktop.ini +.DS_Store \ No newline at end of file diff --git a/.idea/.idea.AsyncScheduler/.idea/indexLayout.xml b/.idea/.idea.AsyncScheduler/.idea/indexLayout.xml index 27ba142..7b08163 100644 --- a/.idea/.idea.AsyncScheduler/.idea/indexLayout.xml +++ b/.idea/.idea.AsyncScheduler/.idea/indexLayout.xml @@ -1,6 +1,6 @@ - + diff --git a/.vs/AsyncScheduler/DesignTimeBuild/.dtbcache.v2 b/.vs/AsyncScheduler/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index acc929002cc10a7c38108bd2f3316bb23e0850a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207101 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 Lt^xK~0{njfKG)*W diff --git a/.vs/AsyncScheduler/v16/.suo b/.vs/AsyncScheduler/v16/.suo deleted file mode 100644 index aa5687ad85168534eda2ccdc6a63f5a213e64811..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87552 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 PhX33@tem@VjQIawnz>AA diff --git a/.vs/AsyncScheduler/v16/TestStore/0/003.testlog b/.vs/AsyncScheduler/v16/TestStore/0/003.testlog deleted file mode 100644 index 959704329a08dbc91393ba9e64388a654927f6a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145559 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 diff --git a/.vs/AsyncScheduler/v16/TestStore/0/testlog.manifest b/.vs/AsyncScheduler/v16/TestStore/0/testlog.manifest deleted file mode 100644 index 12ea3476212c16abe527ae0da30df0e9427adc3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 acmXR;&-W=QP7PsZU|;}Y5C~=QISv3tK?JA( diff --git a/.vs/DotNetAsyncScheduler/v16/.suo b/.vs/DotNetAsyncScheduler/v16/.suo deleted file mode 100644 index ac395e4d3a2d7caca822158969ef0c2196429f97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14336 zcmeHOO>-Pa8Saf^$2K-#0)~7*Hn9m#A}>!+{&SEa%=bx3`+b4(qv@=Hj+Aiuw@)Qd$AR&%O_I8fW1%G}|!I=nmQhX>SZ|LOPt_~dt=mrkPGCnw^e6TY2a~pfsLk(89r^lX6+nS@l9`So|NOv1ZcX z9n}Gfr(BGm&xVCOi<}?}ILRkI`H+0cehesXKA*>1`1)m}zqALCq`!xJ$!6JC@tjWb zzKQr-cu2!jc)o#$GT>Mee?N(jBbGM4Yo#S`6dybVo+kfa|KlG<{0}~OmiS**AZ0h@ zfbcQ-pJ_hA|3?!Z?#2Jo&Pymm{^#!z{|i-~-I()B-9g)pdW7qM^UZnWd{d@#9x3Cg zvZ=dS$Cm%!K_2yptd~LYk9w3nW97YVr3bYo-=AFyKifUK0gK01o3KY5*czLb^?^yq z5nhM=!94)i3`d%yiW)(Vp@t;LI#AYy!4tSAgq{s}=I0GRl;iC12nMhJ&Z(PLw zwee?xxsI9Mz#plwir#SU@8ef@lzTDlU*!V!Kj}q#lp&3O1AWlw!zOkEJ}5$(_v^uGHI@f8t6=n(Z6CiLbK$e~lGb2T}yAK>Y^$ zz}sd$#5=C)2Yizxxe4~*Uqr| z|BHVf`t6_pa_`eGSO0c|^+g}|iyxQ%x9L7g7o)(e;p`6df2>(njm)bf_aQWp57|fA zkS&SEA%AEi%KknN7rlc*;(zIfe;4S~3A0A>I6a%L0KbecGWwo{Qkk~=S;iPWV`;== zjP+~-Bi=x6&{O8w&5Z${J`l=N_QC#^m8R`8o_xFm?f0=-09x>f=3P-&vYObc3@-y2Oo3qDj~1@kn$!b1F)hn!U<{? zz2MdYKlB?>WyK9Uj<+0j>aJg@>M&Y$TXp~8Sb0SUq3gG%CN5RR`8QUc>3C5m&{Hkl zi2}zPD=&7|J-2pCZ&&?I-I`h-|DbWPak()uQNK9ueBhj*NNNv+s@!aWMH)^`hmQmG zFh@E$7qHKHC1)pZhV!ncllN=Y;eSZ(Lr?>7jZbRlRxzToIZcEq9uw@in4o4Hi=J5ZpCimYY=lZ1w zj@Qv^Yw9Qg#Be%BNqLGd=AJxcGZHd#hXdpvvy!h4CcCwgLF#P}v&dykN<7Vlazy4< z9V5w4@kQl-@_13&qq1>cA}$*0y5T@lfgIT)66~V;$+O#e(&>^lb49Skk6olL>yZB3 z)y-fhb5F^RKSX*RJFX6PeJ!N9OXqH!p3!@132%C5S&IIH2zxS(_cU_0QND)qu?M+s zb~fC_-XmC#u;2OT`lbJj!CuRE@tbY`k{b#8@BHqs{wcc-(@!YSF6UaMFy&l6PximP zr=STs3d2(%z5C63?@5;9==|^C&;RUMmwD+IlW*jE)p)X^J$|T4;_;*3t)K6gZNUGz z>-%Frq}@TW_}?h0Yl)|cXRdYhCxG82?U${XGbjh&>7k`whztb%Z*L&=Lp*u$D<~`H zU&G+@oHT;Jh+bi8nfqu5{?DPu|5McC9*|)H+U%|>KQi93brKwx?ES|1-_ZC}Ce&37 z>GMxHk8YWnsGIZYe&>;wfKMa*H9UFgUq)G>e;S|X-^8{xK8j}so_|vR@=j7-e6APq zKWF1_!^_JX0bV9HKgjv(8Km>#+x(ZtU%>ir0+si0ZQpd(DKO6;UQe*|;*(dZco@Wf z8J+);djEeRz5aUNf3R0#yl&)u0qc+FIYK$f?-z5uX7PWF6rZ~ACdM>$P#aQ`w_oIz zg55Udk6<&lzh$K=)bopQiuQ*8d;w-hSkbLkF^86K~!CkXskGkk0;} zpmz(%U*0XJ3}&dp!aNVGS=iN=ao^z*o(tfPIXpM;zKZw~PGV=(`*=?yzKZxF%3L<} zVgC;;|7rV)f3ElbXVKh>+{Qb;m6}Zp$lnsjBX{0Srv|)etIj8mr{4HWW`{%F6yY!a Wzo2k;M_|v$WP$M$`Zygv2wwwp_bZbC diff --git a/.vs/DotNetAsyncScheduler/v16/TestStore/0/000.testlog b/.vs/DotNetAsyncScheduler/v16/TestStore/0/000.testlog deleted file mode 100644 index 0fdfab85a9a1a33abc867aed6ad9deddacf93017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 XcmY#XEb%NUP7PsYU|^62Vh{iTD)$1w diff --git a/.vs/DotNetAsyncScheduler/v16/TestStore/0/testlog.manifest b/.vs/DotNetAsyncScheduler/v16/TestStore/0/testlog.manifest deleted file mode 100644 index e92ede29d76aefe079835aeae278da5341f6e15c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24 WcmXR;&-W=QP7PsZKmZO+yIuf90t7Vx diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite deleted file mode 100644 index bc90b99a591e0f7133b8d0fe22d5f4bb20e16ecd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 950272 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�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 PE~4I29R>aUhpzp9ZzTB- diff --git a/AsyncScheduler.sln.DotSettings b/AsyncScheduler.sln.DotSettings index c843b27..e692fa9 100644 --- a/AsyncScheduler.sln.DotSettings +++ b/AsyncScheduler.sln.DotSettings @@ -1,2 +1,7 @@  - False \ No newline at end of file + False + True + True + True + True + True \ No newline at end of file diff --git a/AsyncScheduler.sln.DotSettings.user b/AsyncScheduler.sln.DotSettings.user deleted file mode 100644 index 5abfc11..0000000 --- a/AsyncScheduler.sln.DotSettings.user +++ /dev/null @@ -1,7 +0,0 @@ - - <SessionState ContinuousTestingMode="0" Name="UnitTest1" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"> - <Project Location="E:\Projects\DotNetAsyncScheduler\AsyncSchedulerTest" Presentation="&lt;AsyncSchedulerTest&gt;" /> -</SessionState> - <SessionState ContinuousTestingMode="0" IsActive="True" Name="All tests from &lt;AsyncSchedulerTest&gt;" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"> - <Project Location="E:\Projects\DotNetAsyncScheduler\AsyncSchedulerTest" Presentation="&lt;AsyncSchedulerTest&gt;" /> -</SessionState> \ No newline at end of file diff --git a/AsyncScheduler/AsyncScheduler.csproj b/AsyncScheduler/AsyncScheduler.csproj index bc63034..e81581e 100644 --- a/AsyncScheduler/AsyncScheduler.csproj +++ b/AsyncScheduler/AsyncScheduler.csproj @@ -16,7 +16,9 @@ true false - 0.0.0 + 0.0.0 + enable + 9 diff --git a/AsyncScheduler/History/IJobHistory.cs b/AsyncScheduler/History/IJobHistory.cs index 2d5dd5d..d2a8b92 100644 --- a/AsyncScheduler/History/IJobHistory.cs +++ b/AsyncScheduler/History/IJobHistory.cs @@ -1,6 +1,4 @@ -using JetBrains.Annotations; - -namespace AsyncScheduler.History +namespace AsyncScheduler.History { /// /// Interface for accessing the history and results of finished jobs. @@ -18,15 +16,13 @@ public interface IJobHistory /// /// key of the job /// null, if no finished execution, yet - [CanBeNull] - IJobHistoryEntry GetLastJobResult(string jobKey); + IJobHistoryEntry? GetLastJobResult(string jobKey); /// /// Retrieve last result of a successful job execution. /// /// key of the job /// null, if no successful execution, yet - [CanBeNull] - IJobHistoryEntry GetLastSuccessfulJobResult(string jobKey); + IJobHistoryEntry? GetLastSuccessfulJobResult(string jobKey); } } \ No newline at end of file diff --git a/AsyncScheduler/History/IJobHistoryEntry.cs b/AsyncScheduler/History/IJobHistoryEntry.cs index 08a5ddb..a2642b8 100644 --- a/AsyncScheduler/History/IJobHistoryEntry.cs +++ b/AsyncScheduler/History/IJobHistoryEntry.cs @@ -10,7 +10,7 @@ public interface IJobHistoryEntry /// /// Execution time /// - DateTime ExecutionTime { get; } + DateTimeOffset ExecutionTime { get; } /// /// Key of the job diff --git a/AsyncScheduler/History/JobHistory.cs b/AsyncScheduler/History/JobHistory.cs index a82a2ca..24c860e 100644 --- a/AsyncScheduler/History/JobHistory.cs +++ b/AsyncScheduler/History/JobHistory.cs @@ -1,5 +1,4 @@ using System.Collections.Concurrent; -using System.Collections.Generic; namespace AsyncScheduler.History { @@ -8,26 +7,24 @@ namespace AsyncScheduler.History /// public class JobHistory : IJobHistory { - private readonly List _jobHistory = new List(); + // private readonly List _jobHistory = new(); /// /// Last execution for each job /// /// Allows efficient access for scheduling - private readonly ConcurrentDictionary _lastExecutions = - new ConcurrentDictionary(); + private readonly ConcurrentDictionary _lastExecutions = new(); /// /// Last successful execution for each job /// /// Allows efficient access for scheduling - private readonly ConcurrentDictionary _lastSuccessfulExecutions = - new ConcurrentDictionary(); + private readonly ConcurrentDictionary _lastSuccessfulExecutions = new(); /// public void Add(IJobHistoryEntry historyEntry) { - _jobHistory.Add(historyEntry); + // _jobHistory.Add(historyEntry); _lastExecutions[historyEntry.JobKey] = historyEntry; if (historyEntry.JobResult == JobResult.Success) { @@ -36,14 +33,14 @@ public void Add(IJobHistoryEntry historyEntry) } /// - public IJobHistoryEntry GetLastJobResult(string jobKey) + public IJobHistoryEntry? GetLastJobResult(string jobKey) { _lastExecutions.TryGetValue(jobKey, out var entry); return entry; } /// - public IJobHistoryEntry GetLastSuccessfulJobResult(string jobKey) + public IJobHistoryEntry? GetLastSuccessfulJobResult(string jobKey) { _lastSuccessfulExecutions.TryGetValue(jobKey, out var entry); return entry; diff --git a/AsyncScheduler/History/JobHistoryEntry.cs b/AsyncScheduler/History/JobHistoryEntry.cs index d50eff7..d82f6df 100644 --- a/AsyncScheduler/History/JobHistoryEntry.cs +++ b/AsyncScheduler/History/JobHistoryEntry.cs @@ -1,13 +1,12 @@ using System; -using JetBrains.Annotations; namespace AsyncScheduler.History { /// public class JobHistoryEntry : IJobHistoryEntry { - public JobHistoryEntry(DateTime executionTime, [NotNull] string jobKey, - JobResult jobResult, object result = null) + public JobHistoryEntry(DateTimeOffset executionTime, string jobKey, + JobResult jobResult, object? result = null) { ExecutionTime = executionTime; JobKey = jobKey ?? throw new ArgumentNullException(nameof(jobKey)); @@ -16,20 +15,18 @@ public JobHistoryEntry(DateTime executionTime, [NotNull] string jobKey, } /// - public DateTime ExecutionTime { get; } + public DateTimeOffset ExecutionTime { get; } /// - [NotNull] public string JobKey { get; } /// - public string ResultString => Result?.ToString(); + public string ResultString => Result?.ToString() ?? "null"; /// /// Result object returned by task. (Might be used later.) /// - [CanBeNull] - public object Result { get; } + public object? Result { get; } /// public JobResult JobResult { get; } diff --git a/AsyncScheduler/ISchedulerClock.cs b/AsyncScheduler/ISchedulerClock.cs index 1338a80..35195bc 100644 --- a/AsyncScheduler/ISchedulerClock.cs +++ b/AsyncScheduler/ISchedulerClock.cs @@ -7,7 +7,10 @@ namespace AsyncScheduler /// public interface ISchedulerClock { - DateTime GetNow(); + /// + /// Returns now + /// + DateTimeOffset GetNow(); } /// @@ -15,9 +18,9 @@ public interface ISchedulerClock /// internal class UtcSchedulerClock : ISchedulerClock { - public DateTime GetNow() + public DateTimeOffset GetNow() { - return DateTime.UtcNow; + return DateTimeOffset.Now; } } } \ No newline at end of file diff --git a/AsyncScheduler/JobManager.cs b/AsyncScheduler/JobManager.cs index 94f60d9..0551c16 100644 --- a/AsyncScheduler/JobManager.cs +++ b/AsyncScheduler/JobManager.cs @@ -2,7 +2,6 @@ using System.Collections.ObjectModel; using AsyncScheduler.JobStorage; using AsyncScheduler.Schedules; -using JetBrains.Annotations; using Microsoft.Extensions.Logging; namespace AsyncScheduler @@ -30,13 +29,13 @@ public JobManager(IServiceProvider serviceProvider, ILogger logger, /// /// Read access Jobs /// - public ReadOnlyDictionary Jobs => new ReadOnlyDictionary(_jobStorage.Jobs); + public ReadOnlyDictionary Jobs => new(_jobStorage.Jobs); /// /// Read access Schedules /// public ReadOnlyDictionary Schedules => - new ReadOnlyDictionary(_jobStorage.Schedules); + new(_jobStorage.Schedules); /// /// Adds a job. @@ -55,7 +54,7 @@ public void AddJob() where TJob : IJob where TSchedule : ISched /// /// schedule /// Job Type - public void AddJob([NotNull] ISchedule schedule) where TJob : IJob + public void AddJob(ISchedule schedule) where TJob : IJob { AddJob(new InstanceScheduleProvider(schedule)); } @@ -65,7 +64,7 @@ public void AddJob([NotNull] ISchedule schedule) where TJob : IJob /// /// provider/factory for schedule /// job type - public void AddJob([NotNull] IScheduleProvider scheduleProvider) where TJob : IJob + public void AddJob(IScheduleProvider scheduleProvider) where TJob : IJob { AddOrUpdateJobInternal(scheduleProvider, false, true); _logger.LogInformation("Job {jobKey} was added", typeof(TJob)); @@ -89,7 +88,7 @@ public void UpdateSchedule() where TJob : IJob where TSchedule /// /// new schedule /// Job Type - public void UpdateSchedule([NotNull] ISchedule schedule) where TJob : IJob + public void UpdateSchedule(ISchedule schedule) where TJob : IJob { UpdateSchedule(new InstanceScheduleProvider(schedule)); } @@ -99,7 +98,7 @@ public void UpdateSchedule([NotNull] ISchedule schedule) where TJob : IJob /// /// new ScheduleProvider /// Job Type - public void UpdateSchedule([NotNull] IScheduleProvider scheduleProvider) where TJob : IJob + public void UpdateSchedule(IScheduleProvider scheduleProvider) where TJob : IJob { AddOrUpdateJobInternal(scheduleProvider, true, false); _logger.LogInformation("Schedule for job {jobKey} was updated", typeof(TJob)); @@ -110,7 +109,7 @@ public void UpdateSchedule([NotNull] IScheduleProvider scheduleProvider) w /// /// ScheduleProvider /// Job Type - public void AddOrUpdate([NotNull] IScheduleProvider scheduleProvider) where TJob : IJob + public void AddOrUpdate(IScheduleProvider scheduleProvider) where TJob : IJob { AddOrUpdateJobInternal(scheduleProvider, true, true); } diff --git a/AsyncScheduler/JobStorage/InMemoryStorage.cs b/AsyncScheduler/JobStorage/InMemoryStorage.cs index a97fa77..f83ce2f 100644 --- a/AsyncScheduler/JobStorage/InMemoryStorage.cs +++ b/AsyncScheduler/JobStorage/InMemoryStorage.cs @@ -5,24 +5,30 @@ namespace AsyncScheduler.JobStorage { + /// + /// Default storage for holding the Jobs, Schedules etc. + /// It just holds the information in memory. + /// public class InMemoryStorage : IJobStorage { - private readonly ConcurrentDictionary _jobs = new ConcurrentDictionary(); + private readonly ConcurrentDictionary _jobs = new(); - private readonly ConcurrentDictionary _schedules = - new ConcurrentDictionary(); + private readonly ConcurrentDictionary _schedules = new(); + /// public IDictionary Jobs => _jobs; + /// public IDictionary Schedules => _schedules; + /// public void AddOrUpdateJobInternal(IScheduleProvider scheduleProvider, bool update = false, bool add = true) where TJob : IJob { if (scheduleProvider == null) throw new ArgumentNullException(nameof(scheduleProvider)); var jobType = typeof(TJob); - var jobKey = jobType.FullName ?? throw new NullReferenceException("jobKey"); + string jobKey = jobType.FullName ?? throw new NullReferenceException("jobKey"); if (!add && !_jobs.ContainsKey(jobKey)) { throw new Exception($"No job {jobKey} found for updating"); @@ -37,9 +43,10 @@ public void AddOrUpdateJobInternal(IScheduleProvider scheduleProvider, boo _schedules[jobKey] = scheduleProvider; } + /// public bool Remove(string jobKey) { - var removed = _jobs.TryRemove(jobKey, out _); + bool removed = _jobs.TryRemove(jobKey, out _); if (!removed) { return false; diff --git a/AsyncScheduler/QuickStart/QuickStartRequest.cs b/AsyncScheduler/QuickStart/QuickStartRequest.cs index 308f07a..5ab1215 100644 --- a/AsyncScheduler/QuickStart/QuickStartRequest.cs +++ b/AsyncScheduler/QuickStart/QuickStartRequest.cs @@ -3,6 +3,10 @@ namespace AsyncScheduler.QuickStart { + /// + /// Quick start allows jobs to be added (e.g. via UI), which are triggered in the next run (when no restrictions apply). + /// A request can be cancelled by the user via cancellationToken. + /// internal class QuickStartRequest { private readonly CancellationToken _cancellationToken; @@ -11,11 +15,11 @@ internal class QuickStartRequest /// Requested job /// /// returns null, if request was cancelled - public string JobKey => _cancellationToken.IsCancellationRequested ? null : _jobKey; + public string? JobKey => _cancellationToken.IsCancellationRequested ? null : _jobKey; private readonly string _jobKey; - private readonly TaskCompletionSource _taskCompletionSource = new TaskCompletionSource(); + private readonly TaskCompletionSource _taskCompletionSource = new(); public QuickStartRequest(string jobKey, CancellationToken cancellationToken) { @@ -34,9 +38,7 @@ public QuickStartRequest(string jobKey, CancellationToken cancellationToken) /// true, when started; false, when not started (e.g. restrictions) public void MarkExecution(QuickStartResult success) { - // _executionResult = success; _taskCompletionSource.SetResult(success); - // _semaphoreResultAvailable.Release(); } } } \ No newline at end of file diff --git a/AsyncScheduler/QuickStartResult.cs b/AsyncScheduler/QuickStartResult.cs index c1a3786..62aded9 100644 --- a/AsyncScheduler/QuickStartResult.cs +++ b/AsyncScheduler/QuickStartResult.cs @@ -5,6 +5,9 @@ /// public enum QuickStartResult { + /// + /// Default value. Unused. + /// Unknown = 0, /// diff --git a/AsyncScheduler/Restrictions/MutexRestriction.cs b/AsyncScheduler/Restrictions/MutexRestriction.cs index b0bc83b..0679336 100644 --- a/AsyncScheduler/Restrictions/MutexRestriction.cs +++ b/AsyncScheduler/Restrictions/MutexRestriction.cs @@ -29,7 +29,7 @@ public bool RestrictStart(string jobToStart, IEnumerable runningJobs) return false; } - var isJobFromGroupAlreadyRunning = runningJobs.Any(j => _exclusiveJobGroup.Contains(j)); + bool isJobFromGroupAlreadyRunning = runningJobs.Any(j => _exclusiveJobGroup.Contains(j)); return isJobFromGroupAlreadyRunning; } } diff --git a/AsyncScheduler/Scheduler.cs b/AsyncScheduler/Scheduler.cs index 7da30fb..6fa5e3e 100644 --- a/AsyncScheduler/Scheduler.cs +++ b/AsyncScheduler/Scheduler.cs @@ -23,12 +23,12 @@ namespace AsyncScheduler /// When jobs should be executed, they are ordered by their execution policy, then each is checked for restrictions and started. public class Scheduler { - private readonly ConcurrentDictionary _runningJobs = new ConcurrentDictionary(); + private readonly ConcurrentDictionary _runningJobs = new(); private readonly IServiceProvider _serviceProvider; private readonly ILogger _logger; private readonly ISchedulerClock _clock; - private readonly List _jobRestrictions = new List(); + private readonly List _jobRestrictions = new(); /// /// Determines the delay between each run, where the schedules are checked. @@ -66,7 +66,7 @@ public Scheduler(IServiceProvider serviceProvider, ILogger logger, IS /// Jobs added here are executed in the next loop (when no restrictions apply). /// Job is removed from queue, when executed or restrictions apply during execution. /// - private ConcurrentQueue QuickStartQueue { get; } = new ConcurrentQueue(); + private ConcurrentQueue QuickStartQueue { get; } = new(); /// /// Jobs added here are executed in the next loop (when no restrictions apply). @@ -141,7 +141,7 @@ public async Task Start(CancellationToken cancellationToken) _logger.LogDebug(e, "Execution loop was cancelled by CancellationToken"); } - Task finishUpTask = null; + Task? finishUpTask = null; try { _logger.LogInformation("Scheduler stopped. Waiting for running jobs to finish: {jobCount}", @@ -179,7 +179,7 @@ private async Task HandleShutdownFinished(string jobKey, Task shutdownTa { try { - var result = await shutdownTask; + string result = await shutdownTask; _logger.LogInformation("Shutdown job for {jobKey} finished with result: {result}", jobKey, result); } catch (Exception e) @@ -216,7 +216,7 @@ private void ExecuteQuickStarts(CancellationToken cancellationToken) { while (QuickStartQueue.TryDequeue(out var quickStartRequest)) { - var resultJobKey = quickStartRequest.JobKey; + string? resultJobKey = quickStartRequest.JobKey; if (resultJobKey == null) { continue; @@ -229,7 +229,7 @@ private void ExecuteQuickStarts(CancellationToken cancellationToken) } var job = JobManager.Jobs.Single(j => j.Key == resultJobKey); - var success = CheckRestrictionsAndStartJob(cancellationToken, job); + bool success = CheckRestrictionsAndStartJob(cancellationToken, job); _logger.LogInformation("Quick start of {jobKey} was successful: {started}", job.Key, success); quickStartRequest.MarkExecution(success ? QuickStartResult.Started : QuickStartResult.Restricted); cancellationToken.ThrowIfCancellationRequested(); @@ -261,7 +261,7 @@ private int GetJobExecutionPriority(string jobKey) var lastSuccessfulExecution = JobHistory.GetLastSuccessfulJobResult(jobKey); try { - var executionPriority = schedule.GetExecutionPriority(jobKey, jobHistoryEntry, lastSuccessfulExecution, _clock.GetNow()); + int executionPriority = schedule.GetExecutionPriority(jobKey, jobHistoryEntry, lastSuccessfulExecution, _clock.GetNow()); _logger.LogTrace("Execution priority from scheduler for job {jobKey} is {priority}", jobKey, executionPriority); return executionPriority; } @@ -272,7 +272,7 @@ private int GetJobExecutionPriority(string jobKey) } } - private ISchedule GetSchedule(string jobKey) + private ISchedule? GetSchedule(string jobKey) { JobManager.Schedules.TryGetValue(jobKey, out var scheduleProvider); if (scheduleProvider == null) @@ -309,7 +309,7 @@ private bool IsStartRestricted(string jobKey) var runningJobs = _runningJobs.Where(j => j.Value != null).Select(j => j.Key); return _jobRestrictions.Select(restriction => { - var restrictStart = restriction.RestrictStart(jobKey, runningJobs); + bool restrictStart = restriction.RestrictStart(jobKey, runningJobs); if (restrictStart) { _logger.LogTrace("JobStartRestriction for {jobKey} detected by {restriction}", jobKey, restriction.GetType()); @@ -350,8 +350,7 @@ private void StartJob(CancellationToken cancellationToken, KeyValuePair job) + private IJob? CreateJobInstance(KeyValuePair job) { try { @@ -372,7 +371,7 @@ private async void ResolveTaskEnd(string jobKey, Task task) { try { - var result = await task; + object result = await task; _logger.LogInformation("Job {jobKey} finished: {result}", jobKey, result); JobHistory.Add(new JobHistoryEntry(_clock.GetNow(), jobKey, JobResult.Success, result)); } diff --git a/AsyncScheduler/Schedules/ISchedule.cs b/AsyncScheduler/Schedules/ISchedule.cs index 6331615..f98119d 100644 --- a/AsyncScheduler/Schedules/ISchedule.cs +++ b/AsyncScheduler/Schedules/ISchedule.cs @@ -16,7 +16,6 @@ public interface ISchedule /// /// Priority only plays a role, if restrictions are applied. /// 0 = don't execute - int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, - IJobHistoryEntry lastSuccessfulExecution, DateTime now); + int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, DateTimeOffset now); } } \ No newline at end of file diff --git a/AsyncScheduler/Schedules/IScheduleProvider.cs b/AsyncScheduler/Schedules/IScheduleProvider.cs index b18160b..72d2d59 100644 --- a/AsyncScheduler/Schedules/IScheduleProvider.cs +++ b/AsyncScheduler/Schedules/IScheduleProvider.cs @@ -1,6 +1,4 @@ -using JetBrains.Annotations; - -namespace AsyncScheduler.Schedules +namespace AsyncScheduler.Schedules { /// /// Common interface to provide a schedule for a job. @@ -13,7 +11,6 @@ public interface IScheduleProvider /// Provides or instantiates the schedule. /// /// schedule - [CanBeNull] - ISchedule GetSchedule(); + ISchedule? GetSchedule(); } } \ No newline at end of file diff --git a/AsyncScheduler/Schedules/InstanceScheduleProvider.cs b/AsyncScheduler/Schedules/InstanceScheduleProvider.cs index 8a1a8f6..c5467a0 100644 --- a/AsyncScheduler/Schedules/InstanceScheduleProvider.cs +++ b/AsyncScheduler/Schedules/InstanceScheduleProvider.cs @@ -1,6 +1,4 @@ -using System; - -namespace AsyncScheduler.Schedules +namespace AsyncScheduler.Schedules { /// /// A ScheduleProvider for a given schedule instance diff --git a/AsyncScheduler/Schedules/IntervalSchedule.cs b/AsyncScheduler/Schedules/IntervalSchedule.cs index 6a20abe..637510d 100644 --- a/AsyncScheduler/Schedules/IntervalSchedule.cs +++ b/AsyncScheduler/Schedules/IntervalSchedule.cs @@ -6,7 +6,7 @@ namespace AsyncScheduler.Schedules /// /// Trigger the job immediately and then after the given timespan expired. /// - public class IntervalSchedule : ISchedule, IScheduleWithPrio + public class IntervalSchedule : IScheduleWithPrio { /// /// Create interval schedule with the given interval @@ -23,9 +23,9 @@ public IntervalSchedule(TimeSpan interval) public TimeSpan Interval { get; set; } /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, - IJobHistoryEntry lastSuccessfulExecution, - DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, + IJobHistoryEntry? lastSuccessfulExecution, + DateTimeOffset now) { if (lastExecution == null) { @@ -35,7 +35,7 @@ public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, if (lastExecution.ExecutionTime + Interval < now) { var delay = now - (lastExecution.ExecutionTime + Interval); - var delayTotalMinutes = (int) delay.TotalMinutes * Priority; + int delayTotalMinutes = (int) delay.TotalMinutes * Priority; return Math.Max(delayTotalMinutes, Priority); } diff --git a/AsyncScheduler/Schedules/IntervalScheduleWithRetryDelay.cs b/AsyncScheduler/Schedules/IntervalScheduleWithRetryDelay.cs index fbd045c..0e17120 100644 --- a/AsyncScheduler/Schedules/IntervalScheduleWithRetryDelay.cs +++ b/AsyncScheduler/Schedules/IntervalScheduleWithRetryDelay.cs @@ -6,7 +6,7 @@ namespace AsyncScheduler.Schedules /// /// Trigger job as in but retry failed attempts after the retry delay. /// - public class IntervalScheduleWithRetryDelay : IScheduleWithPrio, ISchedule + public class IntervalScheduleWithRetryDelay : IScheduleWithPrio { private readonly IntervalSchedule _intervalSchedule; @@ -20,14 +20,14 @@ public IntervalScheduleWithRetryDelay(TimeSpan interval) } /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, DateTimeOffset now) { - var basePriority = _intervalSchedule.GetExecutionPriority(jobKey, lastExecution, lastSuccessfulExecution, now); + int basePriority = _intervalSchedule.GetExecutionPriority(jobKey, lastExecution, lastSuccessfulExecution, now); if (basePriority > 0) { return basePriority; } - if (lastExecution.JobResult == JobResult.Failure) + if (lastExecution?.JobResult == JobResult.Failure) { // Don't retry immediately if (lastExecution.ExecutionTime + RetryDelay > now) diff --git a/AsyncScheduler/Schedules/ScheduleEndless.cs b/AsyncScheduler/Schedules/ScheduleEndless.cs index 672c472..de33984 100644 --- a/AsyncScheduler/Schedules/ScheduleEndless.cs +++ b/AsyncScheduler/Schedules/ScheduleEndless.cs @@ -6,11 +6,11 @@ namespace AsyncScheduler.Schedules /// /// Always run the task (when it is not running anymore). /// - public class ScheduleEndless : ISchedule, IScheduleWithPrio + public class ScheduleEndless : IScheduleWithPrio { /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, - DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, + DateTimeOffset now) { return Priority; } diff --git a/AsyncScheduler/Schedules/ScheduleNever.cs b/AsyncScheduler/Schedules/ScheduleNever.cs index c1b7217..413f731 100644 --- a/AsyncScheduler/Schedules/ScheduleNever.cs +++ b/AsyncScheduler/Schedules/ScheduleNever.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using AsyncScheduler.History; namespace AsyncScheduler.Schedules @@ -13,7 +9,7 @@ namespace AsyncScheduler.Schedules public class ScheduleNever : ISchedule { /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, DateTimeOffset now) { return 0; } diff --git a/AsyncScheduler/Schedules/ScheduleOnce.cs b/AsyncScheduler/Schedules/ScheduleOnce.cs index b0fe100..37e7a32 100644 --- a/AsyncScheduler/Schedules/ScheduleOnce.cs +++ b/AsyncScheduler/Schedules/ScheduleOnce.cs @@ -6,11 +6,11 @@ namespace AsyncScheduler.Schedules /// /// Simple schedule to execute task once without delay. On failure no rescheduling. /// - public class ScheduleOnce : ISchedule, IScheduleWithPrio + public class ScheduleOnce : IScheduleWithPrio { /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, - DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, + DateTimeOffset now) { return lastExecution == null ? Priority : 0; } diff --git a/AsyncScheduler/Schedules/ScheduleOnceWithRetryDelay.cs b/AsyncScheduler/Schedules/ScheduleOnceWithRetryDelay.cs index d84b82b..ca8e7da 100644 --- a/AsyncScheduler/Schedules/ScheduleOnceWithRetryDelay.cs +++ b/AsyncScheduler/Schedules/ScheduleOnceWithRetryDelay.cs @@ -7,7 +7,7 @@ namespace AsyncScheduler.Schedules /// Schedule which executes task once without delay. /// On failed execution, execution is retried again and again with . /// - public class ScheduleOnceWithRetryDelay : ISchedule, IScheduleWithPrio + public class ScheduleOnceWithRetryDelay : IScheduleWithPrio { /// /// Delay for retry after failed execution. @@ -15,8 +15,8 @@ public class ScheduleOnceWithRetryDelay : ISchedule, IScheduleWithPrio public TimeSpan RetryDelay { get; set; } = TimeSpan.FromSeconds(30); /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, - DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, + DateTimeOffset now) { if (lastSuccessfulExecution == null) { //Hint: Delayed retry diff --git a/AsyncScheduler/Schedules/TimeSlotSchedule.cs b/AsyncScheduler/Schedules/TimeSlotSchedule.cs index 78a1787..0a1a923 100644 --- a/AsyncScheduler/Schedules/TimeSlotSchedule.cs +++ b/AsyncScheduler/Schedules/TimeSlotSchedule.cs @@ -8,12 +8,12 @@ namespace AsyncScheduler.Schedules /// On failure task is immediately restarted. /// A similar implementation could be done, where the StartTime is automatically fetched from Database or Filesystem. /// - public class TimeSlotSchedule : ISchedule, IScheduleWithPrio + public class TimeSlotSchedule : IScheduleWithPrio { /// /// Earliest time for the task to start. /// - public DateTime StartTime { get; set; } + public DateTimeOffset StartTime { get; set; } /// /// If task has not been successful executed in this time span, it is not triggered. @@ -22,10 +22,10 @@ public class TimeSlotSchedule : ISchedule, IScheduleWithPrio public TimeSpan SlotTime { get; set; } = TimeSpan.FromMinutes(10); /// - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, - DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, + DateTimeOffset now) { - var lastExecutionTime = lastSuccessfulExecution?.ExecutionTime ?? DateTime.MinValue; + var lastExecutionTime = lastSuccessfulExecution?.ExecutionTime ?? DateTimeOffset.MinValue; if (now > StartTime && lastExecutionTime < StartTime && now < StartTime + SlotTime) { return Priority; diff --git a/AsyncSchedulerTest/AsyncSchedulerTest.csproj b/AsyncSchedulerTest/AsyncSchedulerTest.csproj index b2792d9..009b7d2 100644 --- a/AsyncSchedulerTest/AsyncSchedulerTest.csproj +++ b/AsyncSchedulerTest/AsyncSchedulerTest.csproj @@ -3,6 +3,8 @@ false net472;netcoreapp3.1;netcoreapp2.1 + enable + 9 diff --git a/AsyncSchedulerTest/JobManagerTest.cs b/AsyncSchedulerTest/JobManagerTest.cs index c0bdeeb..2adffe4 100644 --- a/AsyncSchedulerTest/JobManagerTest.cs +++ b/AsyncSchedulerTest/JobManagerTest.cs @@ -26,10 +26,10 @@ public void AddJobViaWithScheduleInstance_JobAdded() _jobManager.Jobs.Should().HaveCount(1); _jobManager.Schedules.Should().HaveCount(1); - var jobKey = typeof(NotImplementedJob).FullName; - _jobManager.Jobs[jobKey].Should().Be(); + string? jobKey = typeof(NotImplementedJob).FullName; + _jobManager.Jobs[jobKey!].Should().Be(); // ReSharper disable once SuspiciousTypeConversion.Global - ((NotImplementedSchedule) _jobManager.Schedules[jobKey].GetSchedule())?.Marker.Should().Be("1"); + ((NotImplementedSchedule?) _jobManager.Schedules[jobKey!].GetSchedule())?.Marker.Should().Be("1"); } [Fact] @@ -39,10 +39,10 @@ public void AddJobViaGeneric_JobAdded() _jobManager.Jobs.Should().HaveCount(1); _jobManager.Schedules.Should().HaveCount(1); - var jobKey = typeof(NotImplementedJob).FullName; - _jobManager.Jobs[jobKey].Should().Be(); - var firstSchedule = (NotImplementedSchedule) _jobManager.Schedules[jobKey].GetSchedule(); - var secondSchedule = (NotImplementedSchedule) _jobManager.Schedules[jobKey].GetSchedule(); + string? jobKey = typeof(NotImplementedJob).FullName; + _jobManager.Jobs[jobKey!].Should().Be(); + var firstSchedule = (NotImplementedSchedule?) _jobManager.Schedules[jobKey!].GetSchedule(); + var secondSchedule = (NotImplementedSchedule?) _jobManager.Schedules[jobKey!].GetSchedule(); firstSchedule?.Marker.Should().Be("DI"); // Each instance is newly requested. firstSchedule.Should().NotBeSameAs(secondSchedule); @@ -55,8 +55,8 @@ public void AddJobTwice_Throws() Action add = () => _jobManager.AddJob(new NotImplementedSchedule("2")); add.Should().Throw(); - var jobKey = typeof(NotImplementedJob).FullName; - ((NotImplementedSchedule) _jobManager.Schedules[jobKey].GetSchedule())?.Marker.Should().Be("1"); + string? jobKey = typeof(NotImplementedJob).FullName; + ((NotImplementedSchedule?) _jobManager.Schedules[jobKey!].GetSchedule())?.Marker.Should().Be("1"); } [Fact] @@ -67,9 +67,9 @@ public void UpdateJobWithScheduleInstance_JobUpdated() _jobManager.Jobs.Should().HaveCount(1); _jobManager.Schedules.Should().HaveCount(1); - var jobKey = typeof(NotImplementedJob).FullName; - _jobManager.Jobs[jobKey].Should().Be(); - ((NotImplementedSchedule) _jobManager.Schedules[jobKey].GetSchedule())?.Marker.Should().Be("2"); + string? jobKey = typeof(NotImplementedJob).FullName; + _jobManager.Jobs[jobKey!].Should().Be(); + ((NotImplementedSchedule?) _jobManager.Schedules[jobKey!].GetSchedule())?.Marker.Should().Be("2"); } [Fact] diff --git a/AsyncSchedulerTest/Restrictions/ConcurrentJobRestrictionTest.cs b/AsyncSchedulerTest/Restrictions/ConcurrentJobRestrictionTest.cs index d59e5f7..51275ea 100644 --- a/AsyncSchedulerTest/Restrictions/ConcurrentJobRestrictionTest.cs +++ b/AsyncSchedulerTest/Restrictions/ConcurrentJobRestrictionTest.cs @@ -11,7 +11,7 @@ public void ShouldNotRestrictJobsWhenLimitNotReached() { var concurrentJobRestriction = new ConcurrentJobRestriction {MaximumParallelJobs = 3}; - concurrentJobRestriction.RestrictStart("job", new string[] {"1", "2"}).Should().BeFalse(); + concurrentJobRestriction.RestrictStart("job", new[] {"1", "2"}).Should().BeFalse(); } [Fact] @@ -19,7 +19,7 @@ public void ShouldRestrictJobsWhenLimitReached() { var concurrentJobRestriction = new ConcurrentJobRestriction {MaximumParallelJobs = 3}; - concurrentJobRestriction.RestrictStart("job", new string[] {"1", "2", "3"}).Should().BeTrue(); + concurrentJobRestriction.RestrictStart("job", new[] {"1", "2", "3"}).Should().BeTrue(); } [Fact] @@ -27,7 +27,7 @@ public void ShouldNotRestrictJobsInExceptionList() { var concurrentJobRestriction = new ConcurrentJobRestriction {MaximumParallelJobs = 1, ExceptionList = new[] {"job"}}; - concurrentJobRestriction.RestrictStart("job", new string[] {"1", "2"}).Should().BeFalse(); + concurrentJobRestriction.RestrictStart("job", new[] {"1", "2"}).Should().BeFalse(); } [Fact] @@ -35,7 +35,7 @@ public void ShouldNotCountOneJobInExceptionList() { var concurrentJobRestriction = new ConcurrentJobRestriction {MaximumParallelJobs = 2, ExceptionList = new[] {"job"}}; - concurrentJobRestriction.RestrictStart("1", new string[] {"job", "2"}).Should().BeFalse(); + concurrentJobRestriction.RestrictStart("1", new[] {"job", "2"}).Should().BeFalse(); } [Fact] @@ -43,7 +43,7 @@ public void ShouldNotCountAllJobsInExceptionList() { var concurrentJobRestriction = new ConcurrentJobRestriction {MaximumParallelJobs = 1, ExceptionList = new[] {"job2", "job"}}; - concurrentJobRestriction.RestrictStart("1", new string[] {"job", "job2"}).Should().BeFalse(); + concurrentJobRestriction.RestrictStart("1", new[] {"job", "job2"}).Should().BeFalse(); } } } \ No newline at end of file diff --git a/AsyncSchedulerTest/SchedulerMultipleJobsTest.cs b/AsyncSchedulerTest/SchedulerMultipleJobsTest.cs index 1372067..6cd8ff7 100644 --- a/AsyncSchedulerTest/SchedulerMultipleJobsTest.cs +++ b/AsyncSchedulerTest/SchedulerMultipleJobsTest.cs @@ -1,10 +1,8 @@ using System; -using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using AsyncScheduler; -using AsyncScheduler.History; using AsyncScheduler.JobStorage; using AsyncScheduler.Restrictions; using AsyncScheduler.Schedules; @@ -38,15 +36,16 @@ public async Task AddMoreJobs_ScheduleOnce_ExecutesAllJobs() _scheduler.JobManager.AddJob(); _scheduler.JobManager.AddJob(); await RunScheduler(TimeSpan.FromSeconds(1)); - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().NotBeNull(); - _scheduler.JobHistory.GetLastSuccessfulJobResult(typeof(NotImplementedJob).FullName).Should().BeNull(); - _scheduler.JobHistory.GetLastSuccessfulJobResult(typeof(AsyncExceptionJob).FullName).Should().BeNull(); + _scheduler.JobHistory.GetLastSuccessfulJobResult(typeof(NotImplementedJob).FullName!).Should().BeNull(); + _scheduler.JobHistory.GetLastSuccessfulJobResult(typeof(AsyncExceptionJob).FullName!).Should().BeNull(); - _scheduler.JobHistory.GetLastJobResult(typeof(NotImplementedJob).FullName).Should().NotBeNull(); - _scheduler.JobHistory.GetLastJobResult(typeof(AsyncExceptionJob).FullName).Should().NotBeNull(); + _scheduler.JobHistory.GetLastJobResult(typeof(NotImplementedJob).FullName!).Should().NotBeNull(); + _scheduler.JobHistory.GetLastJobResult(typeof(AsyncExceptionJob).FullName!).Should().NotBeNull(); + _scheduler.CurrentlyRunningJobs.Should().BeEmpty(); } [Fact] @@ -62,8 +61,8 @@ public async Task AddMoreJobs_RestrictParallelExecution_ExecutesOnlyOneJobs() await RunScheduler(TimeSpan.FromSeconds(1)); // Only one job should have been executed: - var sj = _scheduler.JobHistory.GetLastJobResult(typeof(SimpleJob).FullName); - var aej = _scheduler.JobHistory.GetLastJobResult(typeof(AsyncExceptionJob).FullName); + var sj = _scheduler.JobHistory.GetLastJobResult(typeof(SimpleJob).FullName!); + var aej = _scheduler.JobHistory.GetLastJobResult(typeof(AsyncExceptionJob).FullName!); var jobHistoryEntries = new[] {sj, aej}; jobHistoryEntries.Should().ContainSingle(e => e != null); @@ -73,10 +72,10 @@ public async Task AddMoreJobs_RestrictParallelExecution_ExecutesOnlyOneJobs() private async Task RunScheduler(TimeSpan schedulerTime) { - CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); + var cancellationTokenSource = new CancellationTokenSource(); var schedulerTask = _scheduler.Start(cancellationTokenSource.Token); // ReSharper disable MethodSupportsCancellation - await Task.Delay(schedulerTime).ContinueWith((t) => cancellationTokenSource.Cancel()); + await Task.Delay(schedulerTime).ContinueWith(_ => cancellationTokenSource.Cancel()); var schedulerFinishTimeout = TimeSpan.FromSeconds(1); await Task.WhenAny(schedulerTask, Task.Delay(schedulerFinishTimeout)); // ReSharper restore MethodSupportsCancellation diff --git a/AsyncSchedulerTest/SchedulerOneJobTest.cs b/AsyncSchedulerTest/SchedulerOneJobTest.cs index 1979a85..a245b35 100644 --- a/AsyncSchedulerTest/SchedulerOneJobTest.cs +++ b/AsyncSchedulerTest/SchedulerOneJobTest.cs @@ -34,7 +34,7 @@ public async Task AddOneJob_ScheduleOnce_ExecutesJob() { _scheduler.JobManager.AddJob(); await RunScheduler(TimeSpan.FromSeconds(0.5)); - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().NotBeNull(); _scheduler.JobHistory.GetLastJobResult(jobKey).Should() @@ -50,7 +50,7 @@ public async Task AddOneJob_ScheduleThrowsException_ShouldBeHandled() { _scheduler.JobManager.AddJob(); await RunScheduler(TimeSpan.FromSeconds(0.5)); - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().BeNull(); _scheduler.JobHistory.GetLastJobResult(jobKey).Should().BeNull(); @@ -65,7 +65,7 @@ public async Task AddOneJob_ScheduleNever_QuickStartJob_ExecutesJobViaQuickStart var quickStartTask = _scheduler.QuickStart(); await runSchedulerTask; - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().NotBeNull(); _scheduler.JobHistory.GetLastJobResult(jobKey).Should() @@ -96,7 +96,7 @@ public async Task AddStartFailingJob_ScheduleOnce_ExecutesJobAndMarksResult() { _scheduler.JobManager.AddJob(); await RunScheduler(TimeSpan.FromSeconds(0.5)); - var jobKey = typeof(NotImplementedJob).FullName; + string jobKey = typeof(NotImplementedJob).FullName!; _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey).Should().BeNull(); var lastResult = _scheduler.JobHistory.GetLastJobResult(jobKey); lastResult.Should().NotBeNull(); @@ -112,7 +112,7 @@ public async Task AddAsyncFailingJob_ScheduleOnce_ExecutesJobAndMarksResult() { _scheduler.JobManager.AddJob(); await RunScheduler(TimeSpan.FromSeconds(0.5)); - var jobKey = typeof(AsyncExceptionJob).FullName; + string jobKey = typeof(AsyncExceptionJob).FullName!; _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey).Should().BeNull(); var lastResult = _scheduler.JobHistory.GetLastJobResult(jobKey); lastResult.Should().NotBeNull(); @@ -126,7 +126,7 @@ public async Task AddAsyncFailingJob_ScheduleOnce_ExecutesJobAndMarksResult() [Fact] public async Task AddOneJob_ScheduleEndless_ExecutesJobSeveralTimes() { - var executionCountBefore = _simpleJobInstance.ExecutionCount; + int executionCountBefore = _simpleJobInstance.ExecutionCount; // Hint: We reduce the delay for each run _scheduler.LoopDelay = TimeSpan.FromSeconds(0.1); _scheduler.JobManager.AddJob(); @@ -134,7 +134,7 @@ public async Task AddOneJob_ScheduleEndless_ExecutesJobSeveralTimes() // Act await RunScheduler(TimeSpan.FromSeconds(2)); - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().NotBeNull(); _scheduler.JobHistory.GetLastJobResult(jobKey).Should() @@ -150,7 +150,7 @@ public async Task AddOneJob_ScheduleEndless_ExecutesJobSeveralTimes() [Fact] public async Task AddOneJob_ScheduleEndless_RemoveJobInBetween_ExecutesJobSeveralTimes() { - var executionCountBefore = _simpleJobInstance.ExecutionCount; + int executionCountBefore = _simpleJobInstance.ExecutionCount; // Hint: We reduce the delay for each run _scheduler.LoopDelay = TimeSpan.FromSeconds(0.1); _scheduler.JobManager.AddJob(); @@ -162,7 +162,7 @@ public async Task AddOneJob_ScheduleEndless_RemoveJobInBetween_ExecutesJobSevera _scheduler.JobManager.RemoveJob(); await schedulerTask; - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().NotBeNull(); _scheduler.JobHistory.GetLastJobResult(jobKey).Should() @@ -178,7 +178,7 @@ public async Task AddOneJob_ScheduleEndless_RemoveJobInBetween_ExecutesJobSevera [Fact] public async Task AddOneJob_ScheduleOnce_UpdateScheduleTo_ScheduleEndless_ExecutesJobSeveralTimes() { - var executionCountBefore = _simpleJobInstance.ExecutionCount; + int executionCountBefore = _simpleJobInstance.ExecutionCount; // Hint: We reduce the delay for each run _scheduler.LoopDelay = TimeSpan.FromSeconds(0.1); _scheduler.JobManager.AddJob(); @@ -192,7 +192,7 @@ public async Task AddOneJob_ScheduleOnce_UpdateScheduleTo_ScheduleEndless_Execut _scheduler.JobManager.UpdateSchedule(); await schedulerTask; - var jobKey = typeof(SimpleJob).FullName; + string jobKey = typeof(SimpleJob).FullName!; var lastSuccessfulJobResult = _scheduler.JobHistory.GetLastSuccessfulJobResult(jobKey); lastSuccessfulJobResult.Should().NotBeNull(); _scheduler.JobHistory.GetLastJobResult(jobKey).Should() @@ -207,10 +207,10 @@ public async Task AddOneJob_ScheduleOnce_UpdateScheduleTo_ScheduleEndless_Execut private async Task RunScheduler(TimeSpan schedulerTime) { - CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); + var cancellationTokenSource = new CancellationTokenSource(); var schedulerTask = _scheduler.Start(cancellationTokenSource.Token); // ReSharper disable MethodSupportsCancellation - await Task.Delay(schedulerTime).ContinueWith((t) => cancellationTokenSource.Cancel()); + await Task.Delay(schedulerTime).ContinueWith(_ => cancellationTokenSource.Cancel()); var schedulerFinishTimeout = TimeSpan.FromSeconds(1); await Task.WhenAny(schedulerTask, Task.Delay(schedulerFinishTimeout)); cancellationTokenSource.Cancel(); diff --git a/AsyncSchedulerTest/Schedules/IntervalScheduleTest.cs b/AsyncSchedulerTest/Schedules/IntervalScheduleTest.cs index 8be7653..5ea7c2d 100644 --- a/AsyncSchedulerTest/Schedules/IntervalScheduleTest.cs +++ b/AsyncSchedulerTest/Schedules/IntervalScheduleTest.cs @@ -8,7 +8,7 @@ namespace AsyncSchedulerTest.Schedules { public class IntervalScheduleTest { - private readonly IntervalSchedule _schedule = new IntervalSchedule(TimeSpan.FromMinutes(2)); + private readonly IntervalSchedule _schedule = new(TimeSpan.FromMinutes(2)); private readonly string _jobKey = "keyNotUsed"; diff --git a/AsyncSchedulerTest/Schedules/IntervalScheduleWithRetryDelayTest.cs b/AsyncSchedulerTest/Schedules/IntervalScheduleWithRetryDelayTest.cs index ac1b2bf..8fec75a 100644 --- a/AsyncSchedulerTest/Schedules/IntervalScheduleWithRetryDelayTest.cs +++ b/AsyncSchedulerTest/Schedules/IntervalScheduleWithRetryDelayTest.cs @@ -8,7 +8,7 @@ namespace AsyncSchedulerTest.Schedules { public class IntervalScheduleWithRetryDelayTest { - private readonly IntervalScheduleWithRetryDelay _schedule = new IntervalScheduleWithRetryDelay(TimeSpan.FromMinutes(2)); + private readonly IntervalScheduleWithRetryDelay _schedule = new(TimeSpan.FromMinutes(2)); private readonly string _jobKey = "keyNotUsed"; diff --git a/AsyncSchedulerTest/Schedules/ScheduleOnceWithRetryDelayTest.cs b/AsyncSchedulerTest/Schedules/ScheduleOnceWithRetryDelayTest.cs index 0f582ae..aae41c7 100644 --- a/AsyncSchedulerTest/Schedules/ScheduleOnceWithRetryDelayTest.cs +++ b/AsyncSchedulerTest/Schedules/ScheduleOnceWithRetryDelayTest.cs @@ -8,7 +8,7 @@ namespace AsyncSchedulerTest.Schedules { public class ScheduleOnceWithRetryDelayTest { - private readonly ScheduleOnceWithRetryDelay _schedule = new ScheduleOnceWithRetryDelay(); + private readonly ScheduleOnceWithRetryDelay _schedule = new(); private readonly string _jobKey = "keyNotUsed"; diff --git a/AsyncSchedulerTest/Schedules/TimeSlotScheduleTest.cs b/AsyncSchedulerTest/Schedules/TimeSlotScheduleTest.cs index 13551db..d39d1bc 100644 --- a/AsyncSchedulerTest/Schedules/TimeSlotScheduleTest.cs +++ b/AsyncSchedulerTest/Schedules/TimeSlotScheduleTest.cs @@ -8,13 +8,13 @@ namespace AsyncSchedulerTest.Schedules { public class TimeSlotScheduleTest { - private readonly TimeSlotSchedule _timeSlotSchedule = new TimeSlotSchedule + private readonly TimeSlotSchedule _timeSlotSchedule = new() { StartTime = StartTime, SlotTime = TimeSpan.FromMinutes(10) }; - private static readonly DateTime StartTime = new DateTime(2020, 8, 2, 20, 00, 00); + private static readonly DateTime StartTime = new(2020, 8, 2, 20, 00, 00); private readonly string _jobKey = "keyNotUsed"; [Fact] diff --git a/AsyncSchedulerTest/ShutdownJobTest.cs b/AsyncSchedulerTest/ShutdownJobTest.cs index d177b8c..0c41779 100644 --- a/AsyncSchedulerTest/ShutdownJobTest.cs +++ b/AsyncSchedulerTest/ShutdownJobTest.cs @@ -37,10 +37,10 @@ public async Task TestShutdown() private async Task RunScheduler(TimeSpan schedulerTime) { - CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); + var cancellationTokenSource = new CancellationTokenSource(); var schedulerTask = _scheduler.Start(cancellationTokenSource.Token); // ReSharper disable MethodSupportsCancellation - await Task.Delay(schedulerTime).ContinueWith((t) => cancellationTokenSource.Cancel()); + await Task.Delay(schedulerTime).ContinueWith(_ => cancellationTokenSource.Cancel()); var schedulerFinishTimeout = TimeSpan.FromSeconds(1); await Task.WhenAny(schedulerTask, Task.Delay(schedulerFinishTimeout)); cancellationTokenSource.Cancel(); diff --git a/AsyncSchedulerTest/TestData/NotImplementedSchedule.cs b/AsyncSchedulerTest/TestData/NotImplementedSchedule.cs index 2bbb10d..507a657 100644 --- a/AsyncSchedulerTest/TestData/NotImplementedSchedule.cs +++ b/AsyncSchedulerTest/TestData/NotImplementedSchedule.cs @@ -13,8 +13,8 @@ public NotImplementedSchedule(string marker) Marker = marker; } - public int GetExecutionPriority(string jobKey, IJobHistoryEntry lastExecution, IJobHistoryEntry lastSuccessfulExecution, - DateTime now) + public int GetExecutionPriority(string jobKey, IJobHistoryEntry? lastExecution, IJobHistoryEntry? lastSuccessfulExecution, + DateTimeOffset now) { throw new NotImplementedException(); } diff --git a/AsyncSchedulerTest/TestUtils/TestActivator.cs b/AsyncSchedulerTest/TestUtils/TestActivator.cs index 121d87a..b73c9c7 100644 --- a/AsyncSchedulerTest/TestUtils/TestActivator.cs +++ b/AsyncSchedulerTest/TestUtils/TestActivator.cs @@ -5,10 +5,10 @@ namespace AsyncSchedulerTest.TestUtils { public class TestActivator : IServiceProvider { - private readonly SimpleJob _simpleJobInstance; - private readonly ShutdownJob _shutdownJobInstance; + private readonly SimpleJob? _simpleJobInstance; + private readonly ShutdownJob? _shutdownJobInstance; - public TestActivator(SimpleJob simpleJobInstance = null, ShutdownJob shutdownJobInstance = null) + public TestActivator(SimpleJob? simpleJobInstance = null, ShutdownJob? shutdownJobInstance = null) { _simpleJobInstance = simpleJobInstance; _shutdownJobInstance = shutdownJobInstance; @@ -32,7 +32,7 @@ public object GetService(Type serviceType) { return _shutdownJobInstance; } - return Activator.CreateInstance(serviceType); + return Activator.CreateInstance(serviceType) ?? throw new InvalidOperationException("Unable to create object for type: " + serviceType); } } } \ No newline at end of file diff --git a/BlazorAppExample/BlazorAppExample.csproj.user b/BlazorAppExample/BlazorAppExample.csproj.user deleted file mode 100644 index c236719..0000000 --- a/BlazorAppExample/BlazorAppExample.csproj.user +++ /dev/null @@ -1,9 +0,0 @@ - - - - ProjectDebugger - - - BlazorAppExample - - \ No newline at end of file diff --git a/BlazorAppExample/Pages/Index.razor b/BlazorAppExample/Pages/Index.razor index f7de249..2e29740 100644 --- a/BlazorAppExample/Pages/Index.razor +++ b/BlazorAppExample/Pages/Index.razor @@ -19,7 +19,7 @@

Running Jobs

    - @foreach (var jobKey in Scheduler.CurrentlyRunningJobs) + @foreach (string jobKey in Scheduler.CurrentlyRunningJobs) {
  • Job: @jobKey
  • } diff --git a/BlazorAppExample/Program.cs b/BlazorAppExample/Program.cs index 6e0ccf8..b9a6591 100644 --- a/BlazorAppExample/Program.cs +++ b/BlazorAppExample/Program.cs @@ -1,16 +1,10 @@ -using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; using BlazorAppExample.BackgroundTasks; using Microsoft.Extensions.DependencyInjection; using Serilog; -using Serilog.Events; namespace BlazorAppExample { diff --git a/BlazorAppExample/Startup.cs b/BlazorAppExample/Startup.cs index 6b4224e..710d1df 100644 --- a/BlazorAppExample/Startup.cs +++ b/BlazorAppExample/Startup.cs @@ -1,16 +1,10 @@ using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; using AsyncScheduler; using BlazorAppExample.BackgroundTasks; -using Serilog; namespace BlazorAppExample { diff --git a/ConsoleExample/JobRestrictions.cs b/ConsoleExample/JobRestrictions.cs index a002ea9..6c3cac5 100644 --- a/ConsoleExample/JobRestrictions.cs +++ b/ConsoleExample/JobRestrictions.cs @@ -1,6 +1,4 @@ -using System; using System.Collections.Generic; -using AsyncScheduler; using AsyncScheduler.Restrictions; namespace ConsoleExample diff --git a/ConsoleExample/Program.cs b/ConsoleExample/Program.cs index 6b5e777..868194b 100644 --- a/ConsoleExample/Program.cs +++ b/ConsoleExample/Program.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Serilog; +using ILogger = Microsoft.Extensions.Logging.ILogger; namespace ConsoleExample { @@ -93,7 +94,7 @@ public static void Main(string[] args) } } - private static void ConsoleOnCancelKeyPress(object sender, ConsoleCancelEventArgs e, ILogger logger) + private static void ConsoleOnCancelKeyPress(object sender, ConsoleCancelEventArgs e, ILogger logger) { logger.LogInformation("Cancel Key was pressed. CancellationToken will be cancelled"); _cancellationTokenSource.Cancel();