Coravel定时任务的基本使用
本文实例环境及版本 .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 表达式运行任务 |
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。