RsCode计划任务思路
自定义一个任务类MyMob.cs,继承BackgroundService
实现ExecuteAsync()
使用System.Timers.Timer定时处理任务
注册计划任务
builder.Services.AddHostedService<MyMob>();
计划任务实例代码
public class MyJob : BackgroundService
{
//每隔5秒执行一次
System.Timers.Timer timer = new System.Timers.Timer(5000);
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
timer.Elapsed += Timer_Elapsed;
timer.Enabled = true; //开启计时器
//timer.Enbled=false;//暂停计时器
//timer.Interval=2000;//改变时间间隔为2秒
return Task.CompletedTask;
}
private void Timer_Elapsed(object? sender, ElapsedEventArgs e)
{
//任务内容
Console.WriteLine(e.SignalTime.ToString());
}
}
//注册服务
builder.Services.AddHostedService<MyMob>();
© 2022 rscode.cn MIT license