install-package Dnc.Core
var framework = Framework.Construct<DefaultFrameworkConstruction>()
.Build();
namespace:
using Dnc.Extensions;
namespace:
using Dnc.Helpers;
- Install-Packget Quartz
- Define a job like below:
class HelloJob
: AbstractJob
{
public override async Task ExecuteJobAsync(IJobExecutionContext context)
{
await Task.Run(() => Console.WriteLine($"{DateTime.Now.ToLongTimeString()}"));
}
}
- Framework enable dispatcher.
var framework = Framework.Construct<DefaultFrameworkConstruction>()
.UseScheduleCenter()
.Build();
var scheduler = framework.ScheduleCenter;
scheduler.RunScheduleAsync()
.ConfigureAwait(false)
.GetAwaiter();//sample schedule.
scheduler.CreateAndRunScheduleAsync("gainorloss",
"Dnc.WpfApp.Jobs.HelloJob",
"* */1 * ? * *",
"Dnc.WpfApp.exe")
.ConfigureAwait(false)
.GetAwaiter();
var items = Enumerable.Range(0, 100);//批次任务
items.Page(30, selected =>
{
System.Console.WriteLine(string.Join(",", selected));//同步处理
});
var log = items.Parallel(30, selected =>
{
System.Console.WriteLine(string.Join(",", selected));//并行处理
});
System.Console.WriteLine(log);