Coravel是一个专为.NET Core设计的.NET Standard库,除了任务调度,还提供了像队列、缓存、邮件等其它高级功能。特点就是对开发者十分友好,接入十分简单、优雅、流畅,接近于零配置。
首先安装Coravel包
1 |
|
ConfigureServices配置
// Coravel定时
services.AddScheduler();
Configure配置
// 执行定时任务调度
app.ApplicationServices.UseScheduler(scheduler =>
{
scheduler.Schedule<FirstService>().EverySecond(); //每秒执行一次
});
Invocable
是Coravel中的核心概念,代表一个独立的任务,Coravel直接调度这些Invocable
。
要创建你自己的Invocable
,只需实现 IInvocable
接口,在 Invoke
方法中编码你的任务。
public class FirstService : IInvocable
{
private readonly ILogger<FirstService> _logger;
public FirstService(ILogger<FirstService> logger)
{
_logger = logger;
}
public async Task Invoke()
{
_logger.LogInformation("启动Coravel任务调度"+DateTime.Now.ToString());
}
}