本文实例环境及版本 .NetCore3.1 Coravel是一款框架轻,使用简单,支持秒级定时任务。 官网地址:https://docs.coravel.net/ 一、基本使用 1、Nuget安装Coravel 2、在Startup-ConfigureServices中添加 serv
本文实例环境及版本 .NetCore3.1
Coravel是一款框架轻,使用简单,支持秒级定时任务。
官网地址:https://docs.coravel.net/
一、基本使用
1、Nuget安装Coravel
2、在Startup->ConfigureServices中添加
services.AddScheduler();
3、在Startup->Configure中添加
var provider = app.ApplicationServices; provider.UseScheduler(scheduler => { scheduler.Schedule(() => Console.WriteLine("Coravel执行了一次{0}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))) //工作日每隔10秒输出 .EverySeconds(10); //只在工作日 //.Weekday(); });
执行结果如下:
二、自定义使用
1、新建StatisticTask类继承自IInvocable
public class StatisticTask : IInvocable { /// <summary> /// 实现方法。编写的任务一定要在 Invoke中 /// </summary> /// <returns></returns> public async Task Invoke() { Console.WriteLine("Invoke执行了一次{0}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } }
2、新建CoravelService类用户调用
public static class CoravelService { /// <summary> /// 扩展方法,用于调用 /// </summary> /// <param name="app"></param> public static void UseCoravelService(this IApplicationBuilder app) { var provider = app.ApplicationServices; provider.UseScheduler(scheduler => { //自定义job实现类 scheduler.Schedule<StatisticTask>() .EverySeconds(15); }); } }
3、在Startup->ConfigureServices中添加
services.AddTransient<StatisticTask>();
4、在Startup->Configure中修改
app.UseCoravelService();
执行结果如下:
EverySecond()
每秒运行一次任务
EveryFiveSeconds()
每五秒运行一次任务
EveryTenSeconds()
每十秒运行一次任务
EveryFifteenSeconds()
每十五秒运行一次任务
EveryThirtySeconds()
每三十秒运行一次任务
EverySeconds(3)
每 3 秒运行一次任务。
EveryMinute()
每分钟运行一次任务
EveryFiveMinutes()
每五分钟运行一次任务
EveryTenMinutes()
每十分钟运行一次任务
EveryFifteenMinutes()
每十五分钟运行一次任务
EveryThirtyMinutes()
每三十分钟运行一次任务
Hourly()
每小时运行一次任务
HourlyAt(12)
在每小时过去 12 分钟运行任务
Daily()
每天午夜运行一次任务
DailyAtHour(13)
每天下午 1 点 UTC 运行一次任务
DailyAt(13, 30)
每天下午 1:30 UTC 运行一次任务
Weekly()
每周运行一次任务
Cron("* * * * *")
使用 Cron 表达式运行任务
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。