抖音粉丝群1
『7x24小时有问必答』

AI浪潮下的计算机行业——从业者现状与未来展望
推荐一个轻量级的任务调度开源项目。

01
项目简介
Coravel是一个.NET开源任务调度库,只需简单代码、几乎零配置就可以实现多种功能柜,如任务调度、队列、缓存、事件广播和邮件发送等。该项目特点就是让这些通常复杂的功能变得易于访问和使用,同时提供简洁、直观的语法。

02
核心功能
1、任务/作业调度:通过其流畅的代码内语法,让你能够轻松地在应用程序中设置和管理这些任务。2、队列:提供了一个开箱即用的队列系统,它使用内存作为后端来异步处理任务,从而不会阻塞用户的 HTTP 请求,改善了应用的性能和用户体验。3、缓存:为了提高应用程序的响应速度,Coravel 提供了一个简单易用的缓存 API。默认情况下,它使用内存缓存,但也支持数据库驱动(SQL Server、PostgreSQL),也可以自定义扩展缓存接口,以适应更复杂的缓存需求。4、事件广播:可以构建松耦合的应用程序组件,这有助于提高应用程序的可维护性和灵活性。5、邮件发送:简化了邮件发送过程,提供了内置的电子邮件友好的 Razor 模板、简单灵活的邮件 API,并且支持渲染电子邮件以进行视觉测试。此外,它还支持 SMTP、本地日志文件或自定义邮件器驱动程序。

03
使用示例
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()
  .Subscribe()
    .Subscribe();

5、发送邮件
using Coravel.Mailer.Mail;
using App.Models;

namespace App.Mailables
{
    public class NewUserViewMailable : Mailable
    {
        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);
        }
    }
}

04
项目地址
https://github.com/jamesmh/coravel
最后推荐加入我的 知识星球里面包含7个教程,其中有:《三层架构教程》与《DDD领域驱动设计架构教程》。
- End -
分享一套.NetCore从入门到精通视频教程

点击下方公众号卡片,关注我
回复“888”,免费领取
推荐阅读
觉得好看 点个在看
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

Copyright 2010-2015. All rights reserved. 

微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码