当前位置 : 主页 > 编程语言 > 其它开发 >

Coravel定时任务的基本使用

来源:互联网 收集:自由互联 发布时间:2022-05-30
本文实例环境及版本 .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 表达式运行任务

 

 

才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。

 

上一篇:Python 可变对象的赋值
下一篇:没有了
网友评论