- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
推荐一个轻量级的任务调度开源项目.
Coravel是一个.NET开源任务调度库,只需简单代码、几乎零配置就可以实现多种功能柜,如任务调度、队列、缓存、事件广播和邮件发送等。该项目特点就是让这些通常复杂的功能变得易于访问和使用,同时提供简洁、直观的语法.
1、任务/作业调度:通过其流畅的代码内语法,让你能够轻松地在应用程序中设置和管理这些任务.
2、队列:提供了一个开箱即用的队列系统,它使用内存作为后端来异步处理任务,从而不会阻塞用户的 HTTP 请求,改善了应用的性能和用户体验.
3、缓存:为了提高应用程序的响应速度,Coravel 提供了一个简单易用的缓存 API。默认情况下,它使用内存缓存,但也支持数据库驱动(SQL Server、PostgreSQL),也可以自定义扩展缓存接口,以适应更复杂的缓存需求.
4、事件广播:可以构建松耦合的应用程序组件,这有助于提高应用程序的可维护性和灵活性.
5、邮件发送:简化了邮件发送过程,提供了内置的电子邮件友好的 Razor 模板、简单灵活的邮件 API,并且支持渲染电子邮件以进行视觉测试。此外,它还支持 SMTP、本地日志文件或自定义邮件器驱动程序.
1、安装依赖库 。
dotnet tool install --global coravel-cli
2、任务调度 。
//启用
services.AddScheduler();
var provider = app.ApplicationServices;
provider.UseScheduler(scheduler =>
{
scheduler.Schedule(
() => Console.WriteLine("工作日每一分钟执行一次。")
)
.EveryMinute()
.Weekday();
});
3、队列 。
IQueue _queue;
public HomeController(IQueue queue) {
this._queue = queue;
}
//使用队列
this._queue.QueueAsyncTask(async() => {
await Task.Delay(1000);
Console.WriteLine("这是队列!");
});
4、广播 。
var provider = app.ApplicationServices;
IEventRegistration registration = provider.ConfigureEvents();
//注册和监听
registration
.Register<BlogPostCreated>()
.Subscribe<TweetNewPost>()
.Subscribe<NotifyEmailSubscribersOfNewPost>();
5、发送邮件 。
using Coravel.Mailer.Mail;
using App.Models;
namespace App.Mailables
{
public class NewUserViewMailable : Mailable<UserModel>
{
private UserModel _user;
public NewUserViewMailable(UserModel user) => this._user = user;
public override void Build()
{
this.To(this._user)
.From("from@test.com")
.View("~/Views/Mail/NewUser.cshtml", this._user);
}
}
}
https://github.com/jamesmh/coravel 。
更多开源项目: https://github.com/bianchenglequ/NetCodeTop 。
- End - 。
推荐阅读 。
推荐一个C#轻量级矢量图形库 。
.NET日志库:Serilog、NLog、Log4Net等十大开源日志库大盘点! 。
推荐5个.Net版本 Redis 客户端开源库 。
ImageSharp:高性能跨平台.NET开源图形库 。
盘点3个.Net热门HTTP开源库 。
最后此篇关于Coravel:一个可轻松实现任务调度、队列、邮件发送的开源项目的文章就讲到这里了,如果你想了解更多关于Coravel:一个可轻松实现任务调度、队列、邮件发送的开源项目的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
推荐一个轻量级的任务调度开源项目。 01 项目简介 Coravel是一个.NET开源任务调度库,只需简单代码、几乎零配置就可以实现多种功能柜,如任务调度、队列、缓存、事件广播和邮件发送等。该项目特
我是一名优秀的程序员,十分优秀!