写点什么

调度小能手——Coravel

作者:为自己带盐
  • 2021 年 12 月 16 日
  • 本文字数:829 字

    阅读完需:约 3 分钟

调度小能手——Coravel

简介

之前用过一些计划任务相关的组件,比如 Quatz,感觉还是有一些重,后来发现了 Coravel,感觉太清爽了,必须分享一下。

Coravel 是一个接近零配置的 .NET Core 库,使任务调度、缓存、队列、邮件、事件广播(等等)变得轻而易举!

文档地址是:https://docs.coravel.net/

然后文档里也介绍了很多实例,我这里就结合我的项目,先简单分享一下(主要是快 12 点了~~忘了日更)

注册服务

先在 ConfigureServices 方法里,配置服务

services.AddScheduler();
//注册Coravel调用的任务,注意要注册成瞬时服务
services.AddTransient<CipAssistant.External.Jobs.UpdateTrendJob>();
services.AddQueue();
复制代码

一般注册以上 3 个服务,其中第二个需要引入自己定义好的计划动作;

然后在管道里注入服务

 var provider = app.ApplicationServices;provider.UseScheduler(scheduler =>                      {                        scheduler.Schedule<CipAssistant.External.Jobs.UpdateTrendJob>()                          .EveryThirtyMinutes()//30分钟更新一次                                         .Weekday();                      });
复制代码

继承接口,自定义服务

public class UpdateTrendJob : IInvocable{      private Interfaces.IZmRobotHelper _zmRobotHelper;      public UpdateTrendJob(Interfaces.IZmRobotHelper zmRobotHelper)      {          _zmRobotHelper = zmRobotHelper;      }      /// <summary>      /// 触发任务      /// 固定格式,要把需要做的事情放到Invoke里      /// </summary>      /// <returns></returns>      public async Task Invoke()      {          await _zmRobotHelper.updateRankingJob();      }}
复制代码

好了,结束了~就这么简单。

通常,必须通过 Windows 任务计划程序配置 cron 作业或任务才能运行单个或多个重复出现的任务。使用 Coravel,您可以使用简单、优雅、流畅的语法在一个地方设置所有计划任务

在代码中!调度现在轻而易举

发布于: 刚刚阅读数: 2
用户头像

学着码代码,学着码人生。 2019.04.11 加入

狂奔的小码农

评论

发布
暂无评论
调度小能手——Coravel