Initial version
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\EonaCat.FluentScheduler\EonaCat.FluentScheduler.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,43 @@
|
||||
using EonaCat.FluentScheduler;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
class Program
|
||||
{
|
||||
static async Task Main()
|
||||
{
|
||||
// Configure logger
|
||||
Scheduler.SetLogger(Console.WriteLine);
|
||||
|
||||
// Fluent tasks
|
||||
FluentScheduler.Schedule(async () =>
|
||||
{
|
||||
Console.WriteLine($"Daily task executed at {DateTime.Now}");
|
||||
}).EveryDayAt(8, 30);
|
||||
|
||||
FluentScheduler.Schedule(async () =>
|
||||
{
|
||||
Console.WriteLine($"Weekly task executed at {DateTime.Now}");
|
||||
}).EveryWeekOn(DayOfWeek.Monday, 9, 0);
|
||||
|
||||
// Cron task
|
||||
FluentScheduler.ScheduleCron("Every5Sec", "*/5 * * * * *", async () =>
|
||||
{
|
||||
Console.WriteLine($"Cron task executed every 5 sec at {DateTime.Now}");
|
||||
});
|
||||
|
||||
// Start scheduler
|
||||
Scheduler.Start();
|
||||
|
||||
// Remove task dynamically after 20 seconds
|
||||
_ = Task.Run(async () =>
|
||||
{
|
||||
await Task.Delay(20000);
|
||||
Scheduler.RemoveTask("Every5Sec");
|
||||
});
|
||||
|
||||
Console.WriteLine("Scheduler running. Press any key to stop...");
|
||||
Console.ReadKey();
|
||||
Scheduler.Stop();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user