网易首页 > 网易号 > 正文 申请入驻

又见百小僧,.NET分布式毫秒级定时任务Sundial面世

0
分享至

来源 | OSCHINA 社区

作者 | 百小僧

原文链接:https://www.oschina.net/news/219126/sundial-released

何许人也

Hi,我是百小僧,我又来了。

1993 年 05 月生,双子座,2008 年高中接触编程,进入大学后成痴迷状态,于 2012 年 09 月创业至今十年有余,跌跌撞撞还在路上,个人简介不过多阐述,了解更多请移步 【关于作者:https://furion.baiqian.ltd/docs/author】

开源十年,坚持每年至少开源一款项目,如今已有 30 个有余,十年间已是超 6 万人的群主。开源十年,我都做了啥?

创造了国内超流行的 .NET 框架 Furion:https://gitee.com/dotnetchina/Furion

创造了前端弹窗组件 LayX:https://gitee.com/monksoul/LayX

创办了 Gitee 平台超有知名度的 dotNET China 组织:https://gitee.com/dotnetchina

创造了分布式毫秒级定时任务 Sundial:https://gitee.com/dotnetchina/Sundial

创造了分布式事件总线 Jaina:https://gitee.com/dotnetchina/Jaina

.NET 全能 Cron 表达式解析 TimeCrontab 作者:https://gitee.com/dotnetchina/TimeCrontab

曾经风靡一时的 Hui 框架作者:https://gitee.com/monksoul/Hui

曾经被 NodeJS 官方推荐的 Monk.Node 框架作者:https://gitee.com/monksoul/Monk.Node

前端 Javascript 验证库的作者:https://gitee.com/monksoul/availdate.js

由于篇幅优先,就不一一例举,感兴趣的可以去访问我 Gitee 个人主页:https://gitee.com/monksoul

沉默时光

在 .NET 领域,有两个主流的定时任务库,一个是 Quartz.NET,另外一个是 Hangfire,过去十年,所有接手的项目中只要涉及到定时任务就离不开这两个库,也只有这个选择,但它们属于国外大神作品,从功能需求上不能自主可控。

随着编程思维和技术的增长,慢慢有了自主创造的意识,所以于 2021 年 11 月就萌生出自己写定时任务的想法,它必须是国人完全自主的分布式毫秒级定时任务,为此我做了长足的准备。

不鸣则已

为了编写无依赖的分布式定时任务,我花费了 9 个月的时间去学习这些知识,见证我创建该库的心路历程:https://gitee.com/dotnetchina/Sundial/issues/I4IL3U

  • 必须了解 Cron 表达式所有原理

  • 必须了解 多线程、信号量,互斥锁,任务,绿色线程,线程 Token 知识

  • 必须了解 TCP/IP 知识,实现集群控制,持久化控制

  • 必须了解 CPU 休眠原理,唤醒原理,解决线程如何唤醒,休眠总时间计算

  • 必须了解 Hash 表,链表知识,数据结构和算法,解决作业内存存储问题

  • 必须了解 队列,管道通讯知识,解决作业运行时状态改变通知问题

  • 必须了解 反射知识,IOC/DI 知识,设计模式,架构设计,为以后拓展和维护

  • 还有很多很多小知识

一鸣惊人

经过了将近 10 个月的开发,测试,迭代,Sundial 诞生了,编写了超 10 万字文档。

https://furion.baiqian.ltd/docs/job

一睹尊容SundiallicenseMIT:https://gitee.com/dotnetchina/Sundial/blob/master/LICENSE

nugetv2.5.0:https://www.nuget.org/packages/Sundial

dotNET China:https://gitee.com/dotnetchina

.NET 功能齐全的开源分 布式作业 调度系统,可从最小的应用程序到大型企业系统使用。

特性

  • 简化调度作业

    • 支持作业监视器

    • 支持作业执行器

    • 支持自定义作业存储组件(持久化)

    • 支持自定义策略执行

    • 内置周期、Cron 作业

    • 支持自定义作业触发器

    • 支持依赖注入控制(含 HTTP 控制支持)

  • 高内聚,低耦合,使代码更简单

  • 很小,仅41KB

  • 无第三方依赖

  • 可在Windows/Linux/MacOS守护进程部署

  • 支持分布式、集群(多实例)部署

  • 支持负载均衡(基于 TCP/IP)

  • 高质量代码和良好单元测试

  • 跨平台,支持 .NET5+

安装
  • Package Manager

Install-PackageSundial
  • .NET CLI

dotnetaddpackageSundial
快速入门

我们在主页上有不少例子,这是让您入门的第一个:

  1. 定义作业,并实现IJob接口:

public class MyJob : IJob
private readonly ILogger _logger;

publicMyJob(ILogger logger)
{
_logger = logger;
}

publicasyncTask ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
{
_logger.LogInformation($"{context.JobDetail}{context.Trigger}{context.OccurrenceTime}");
await Task.CompletedTask;
}
}

  1. Startup.cs注册AddSchedule服务和作业:

services.AddSchedule(options =>
options.AddJob(Triggers.PeriodSeconds(5)
, Triggers.Minutely());
  1. 运行项目:

info: System.Logging.ScheduleService[0]
Schedule Hosted Service is running.
warn: System.Logging.ScheduleService[0]
Schedule Hosted Service cancels hibernation and GC.Collect().
info: System.Logging.ScheduleService[0]
The Scheduler of successfully updated to the schedule.
info: Sundial.Samples.MyJob[0]
job1_trigger2> 5000ms 2022/11/23 16:22:51
info: Sundial.Samples.MyJob[0]
job1_trigger2> 5000ms 2022/11/23 16:22:56
info: Sundial.Samples.MyJob[0]
job1_trigger3> * * * * * 2022/11/23 16:23:00
info: Sundial.Samples.MyJob[0]
job1_trigger2> 5000ms 2022/11/23 16:23:01
info: Sundial.Samples.MyJob[0]
job1_trigger2> 5000ms 2022/11/23 16:23:07

更多文档:https://furion.baiqian.ltd/docs/job/

文档

您可以在主页找到Sundial文档:https://furion.baiqian.ltd/docs/job/

贡献

该存储库的主要目的是继续发展 Sundial 核心,使其更快、更易于使用。Sundial 的开发在 Gitee 上公开进行,我们感谢社区贡献错误修复和改进。

许可证

Sundial 采用 MIT 开源许可证。

MIT License

Copyright (c) 2020-2022 百小僧, Baiqian Co.,Ltd.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
孤芳自赏

纵你阅人何其多,再无一人恰似我。

你参与开源吗?

抽开源中国周边啦~

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
霍思燕大方晒新家,新家看起来跟个宫殿似的,家里还能养孔雀!

霍思燕大方晒新家,新家看起来跟个宫殿似的,家里还能养孔雀!

花花lo先森
2024-06-20 10:39:36
2024欧洲杯热度一般,美洲杯更无人问津

2024欧洲杯热度一般,美洲杯更无人问津

刺头体育
2024-06-20 21:46:29
张兰曝:7月1号要见孙子小箖箖,网友:大曲线害怕马筱梅生宝宝

张兰曝:7月1号要见孙子小箖箖,网友:大曲线害怕马筱梅生宝宝

郑丁嘉话
2024-06-20 15:22:02
重庆这件事,已经不是践踏公平的问题了

重庆这件事,已经不是践踏公平的问题了

顾礼先生
2024-04-22 15:51:11
为什么上海人那么好辨认?网友:身上有上海味!

为什么上海人那么好辨认?网友:身上有上海味!

开玩笑的水母
2024-06-20 19:15:50
民调:英国工党将赢得百年来最大胜利

民调:英国工党将赢得百年来最大胜利

参考消息
2024-06-20 14:32:07
特斯拉在法国5月销量暴跌45% 受比亚迪影响?

特斯拉在法国5月销量暴跌45% 受比亚迪影响?

爱卡汽车
2024-06-18 14:53:12
黎笋:没事打中国刷存在感的越南领导人,86年在绝望与遗憾中去世

黎笋:没事打中国刷存在感的越南领导人,86年在绝望与遗憾中去世

丛丛岁月
2024-06-20 18:39:55
芯片概念独涨,沪指低迷退守3000点

芯片概念独涨,沪指低迷退守3000点

每日经济新闻
2024-06-20 13:06:11
《玫瑰的故事》演员片酬曝光!刘亦菲2300万,林更新吊打彭冠英!

《玫瑰的故事》演员片酬曝光!刘亦菲2300万,林更新吊打彭冠英!

小兵家历史
2024-06-20 16:59:25
“最美刘三姐”扮演者出卖身体103次,敛财76万,枪毙前大喊不服

“最美刘三姐”扮演者出卖身体103次,敛财76万,枪毙前大喊不服

北筏话史
2024-04-30 11:36:47
伊能静儿子晒毕业旅行,同行的全是女生,搂着女同学拍照无惧争议

伊能静儿子晒毕业旅行,同行的全是女生,搂着女同学拍照无惧争议

娱絮
2024-06-19 19:58:39
费根:如果克林根与萨尔被前面选走,火箭探花签就没留下的意义!

费根:如果克林根与萨尔被前面选走,火箭探花签就没留下的意义!

刺头体育
2024-06-20 22:47:20
不知道张杰最近为什么要如此操作?换做常理,做人也要留一线吧!

不知道张杰最近为什么要如此操作?换做常理,做人也要留一线吧!

青瓜娱评
2024-06-20 13:48:22
若台湾回归,谁最有可能成为台湾省长?其中有四人众望所归

若台湾回归,谁最有可能成为台湾省长?其中有四人众望所归

文史旺旺旺
2024-06-20 17:23:16
今天分享一些艺术 希望大家喜欢

今天分享一些艺术 希望大家喜欢

中关村在线
2024-06-19 12:03:17
王姓男演员因公共危险罪被捕

王姓男演员因公共危险罪被捕

鲁中晨报
2024-06-20 17:27:10
中纪委网站通报,“80后”纪亮被查

中纪委网站通报,“80后”纪亮被查

极目新闻
2024-06-20 11:30:21
2轮4分!阿坎吉:艰难而高强度的比赛,我们已非常接近淘汰赛

2轮4分!阿坎吉:艰难而高强度的比赛,我们已非常接近淘汰赛

直播吧
2024-06-20 07:05:17
后续!俞莉教授被处分,据悉黑人留学生还不买账,理由令人愤慨!

后续!俞莉教授被处分,据悉黑人留学生还不买账,理由令人愤慨!

十三级台阶
2024-06-20 17:22:46
2024-06-21 00:36:49
开源中国
开源中国
每天为开发者推送最新技术资讯
6337文章数 34226关注度
往期回顾 全部

科技要闻

小米SU7流量泼天,富贵却被蔚来接住了

头条要闻

媒体:以为中国会服软 菲在南海主权之争上存低级误判

头条要闻

媒体:以为中国会服软 菲在南海主权之争上存低级误判

体育要闻

千夫所指的关系户 成了拯救葡萄牙的英雄

娱乐要闻

叶舒华参加柯震东生日聚会,五毒俱全

财经要闻

楼市新“王炸”!释放何信号?

汽车要闻

售价11.79-14.39万元 新一代哈弗H6正式上市

态度原创

手机
本地
家居
数码
军事航空

手机要闻

不止换芯!iQOO Neo9S Pro+再次被确认,有超声波指纹加持

本地新闻

2024·合肥印象|用崭新视角对话城市发展

家居要闻

自然开放 实现灵动可变空间

数码要闻

新一代风冷之王!超频三泰拉巨风RZ820评测:散热接近360水冷 还有超高颜值

军事要闻

以军发言人公开表示"哈马斯无法被消灭" 以政府反驳

无障碍浏览 进入关怀版