ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于Coravel的简单实现定时任务

2022-08-30 00:01:47  阅读:232  来源: 互联网

标签:基于 Coravel builder 任务 Services 定时 coravel


Coravel是什么?

Coravel 是一个接近零配置的 .NET Core 库,可以非常的快速简洁的实现任务调度、缓存、队列、邮件、事件广播等。

Coravel本质是通过注入Timer支持秒级的定时任务。

其官网地址https://docs.coravel.net/;

github地址:https://github.com/jamesmh/coravel

Coravel简单实现定时任务

一、引入Coravel程序集

install-package coravel

二、创建任务执行类,实现接口IInvocable

1     public class SyncProductJob : IInvocable
2     {
3         public Task Invoke()
4         { 
5             Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"sync product");
6             return Task.CompletedTask;
7           
8         }
9     }

 

三、注入任务

 1 //注入启用任务调度功能
 2 builder.Services.AddScheduler();
 3 builder.Services.AddTransient<SyncProductJob>();
 4 var app = builder.Build();
 5 
 6 //配置任务
 7 app.Services.UseScheduler(p => {
 8     p.Schedule<SyncProductJob>().EverySeconds(25).Weekday();
 9     p.Schedule<SyncProductJob>().Cron("25 * * * * ?");//支持cron表达式
10 });

 

总结

Coravel是一个轻量级的程序集,可以快速方便的实现定时任务。尤其是针对简单EveryMinute,EverySecond等简单常用的定时任务配置。

对于简单的系统(不用比较复杂的定时设置)来说,还是比较值得推荐的。

但是对于大型而且复杂的定时任务需求,一般都是需要用到Cron来配置的,因为当需要修改定时任务频率时,只需修改配置重启程序即可,无需改动代码。像Hangfire还支持分布式的定时任务。所以此种情况下还是建议使用Hangfire或者是老牌的Quarter。

 

当然,Coravel还支持其他功能,例如缓存,队列等,有空可以尝试一下。(轻量级的,又夹杂着这么多功能,真的能应付得过来吗?表示怀疑...)

 

标签:基于,Coravel,builder,任务,Services,定时,coravel
来源: https://www.cnblogs.com/johnyong/p/16637835.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有