44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
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();
|
|
}
|
|
}
|