Skip to content

Commit

Permalink
Merge branch 'v7' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
justdmitry committed Apr 23, 2024
2 parents 31359d8 + f5859e9 commit 44a41ba
Show file tree
Hide file tree
Showing 8 changed files with 122 additions and 153 deletions.
7 changes: 2 additions & 5 deletions sample/RecurrentTasks.Sample/RecurrentTasks.Sample.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;netcoreapp3.1;net6.0</TargetFrameworks>
<TargetFramework>net8.0</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>RecurrentTasks.Sample</AssemblyName>
<OutputType>Exe</OutputType>
Expand All @@ -15,13 +15,10 @@
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.556">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp2.1'">
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.34" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\RecurrentTasks\RecurrentTasks.csproj" />
</ItemGroup>
Expand Down
29 changes: 6 additions & 23 deletions src/RecurrentTasks/RecurrentTasks.csproj
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Copyright>Dmitry Popov, 2016-2022</Copyright>
<Copyright>Dmitry Popov, 2016-2024</Copyright>
<AssemblyTitle>RecurrentTasks</AssemblyTitle>
<TargetFrameworks>netstandard2.0;netcoreapp3.1;net6.0;net8.0</TargetFrameworks>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>RecurrentTasks</AssemblyName>
<Nullable>enable</Nullable>
<PackageId>RecurrentTasks</PackageId>
<PackageTags>task;job;recurrent;recurring;aspnetcore</PackageTags>
<PackageReleaseNotes>https://github.com/justdmitry/RecurrentTasks/releases/tag/v6.6</PackageReleaseNotes>
<PackageReleaseNotes>https://github.com/justdmitry/RecurrentTasks/releases/tag/v7.0</PackageReleaseNotes>
<PackageProjectUrl>https://github.com/justdmitry/RecurrentTasks</PackageProjectUrl>
<PackageLicenseUrl></PackageLicenseUrl>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/justdmitry/RecurrentTasks.git</RepositoryUrl>
<Version>6.6.0</Version>
<Version>7.0.0-beta</Version>
<Description>RecurrentTasks for .NET allows you to run simple recurrent background tasks with specific intervals, without complex frameworks, persistance, etc...</Description>
<Authors>just_dmitry</Authors>
<Company />
Expand All @@ -29,24 +30,6 @@
<Compile Include="..\..\GlobalSuppressions.cs" Link="GlobalSuppressions.cs" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="3.1.0" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
Expand All @@ -61,7 +44,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.556">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,11 @@ public static class RecurrentTasksServiceCollectionExtensions
{
public static IServiceCollection AddTask<TRunnable>(
this IServiceCollection services,
Action<TaskOptions<TRunnable>> optionsAction = null,
Action<TaskOptions<TRunnable>>? optionsAction = null,
ServiceLifetime runnableLifetime = ServiceLifetime.Transient)
where TRunnable : IRunnable
{
if (services == null)
{
throw new ArgumentNullException(nameof(services));
}
ArgumentNullException.ThrowIfNull(services);

var runnableType = typeof(TRunnable);

Expand Down
17 changes: 8 additions & 9 deletions src/RecurrentTasks/TaskOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ public class TaskOptions
/// <summary>
/// Custom logger (to use instead of calling loggerFactory.CreateLogger()).
/// </summary>
public ILogger Logger { get; set; }
public ILogger? Logger { get; set; }

/// <summary>
/// If non-null, current thread culture will be set to this value before <see cref="IRunnable.RunAsync"/> is called
/// If non-null, current thread culture will be set to this value before <see cref="IRunnable.RunAsync"/> is called.
/// </summary>
public CultureInfo RunCulture { get; set; }
public CultureInfo? RunCulture { get; set; }

/// <summary>
/// Auto-start task when <see cref="IHostedService.StartAsync"/> is called (default <b>true</b>)
/// Auto-start task when <see cref="IHostedService.StartAsync"/> is called (default <b>true</b>).
/// </summary>
public bool AutoStart { get; set; } = true;

Expand Down Expand Up @@ -73,14 +73,13 @@ public TimeSpan FirstRunDelay
}
}


/// <summary>
/// Return <b>false</b> to cancel/skip task run
/// Return <b>false</b> to cancel/skip task run.
/// </summary>
public Func<IServiceProvider, ITask, Task<bool>> BeforeRun { get; set; }
public Func<IServiceProvider, ITask, Task<bool>>? BeforeRun { get; set; }

public Func<IServiceProvider, ITask, Task> AfterRunSuccess { get; set; }
public Func<IServiceProvider, ITask, Task>? AfterRunSuccess { get; set; }

public Func<IServiceProvider, ITask, Exception, Task> AfterRunFail { get; set; }
public Func<IServiceProvider, ITask, Exception, Task>? AfterRunFail { get; set; }
}
}
2 changes: 1 addition & 1 deletion src/RecurrentTasks/TaskRunStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class TaskRunStatus

public int FailsCount { get; set; }

public Exception LastException { get; set; }
public Exception? LastException { get; set; }

public DateTimeOffset NextRunTime { get; set; }
}
Expand Down
Loading

0 comments on commit 44a41ba

Please sign in to comment.