hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

C#/.NET/.NET Core定时使命调理的要领或许组件有哪些--Timer,FluentScheduler照样...

2019-11-18杂谈搜奇网32°c
A+ A-

原文由Rector首发于 码友网 之 《C#/.NET/.NET Core运用顺序编程中完成定时使命调理的要领或许组件有哪些,Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET照样Hangfire》

择要

C#/.NET/.NET Core的定时使命调理组件你用过那些呢,是Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET照样Hangfire,又或许是其他的定时使命调理框架/组件呢?你常常运用的完成定时使命调理的要领又是怎样的呢?

媒介

定时使命,使命调理这些词在顺序开辟中会被常常说起。定时使命是什么?在计算机的天下里,定时使命就是在指定的时候或许时候范围内,根据肯定的频次完成指定的指令。它是一个具有周期性,规律性的运动。

定时使命可所以:早上定时叫你起床的闹钟,纪录并提示你日程的日历或许生日问候,某网站定时给你的周刊、月刊音讯推送,某体系周期性做的逐日、月度、年度数据汇总,等等。

因而可知,定时使命与我们的生活、事情紧密联系在一起。特别地,关于我们开辟人员来讲,但凡要完成周期性地操纵,就须要运用定时使命来处置惩罚。

那末,关于C#/.NET开辟人员来讲,怎样完成定时使命,完成定时使命又有哪些要领或许有哪些组件呢?这些题目关于处置C#/.NET的开辟者,特别是刚入行不久或许履历短缺者来讲将会是比较搅扰的题目。

本日Rector就收集整理一些C#/.NET/.NET Core运用顺序编程开辟中常常运用的完成定时使命调理的要领或许定时使命调理组件。

Timer类

Timer是.NET内置的定时器类,它位于定名空间System.Timers下。Timer是一个基于效劳器端的计时器,供应了Interval属性来设置反复触发定时使命的距离(单元为毫秒),触发事宜则由Elapsed事宜来指定。别的,还能够经由过程AutoReset属性来设置Timer的Elapsed事宜只触发一次或许反复触发。

官方地点: https://docs.microsoft.com/en-us/dotnet/api/system.timers.timer?view=netframework-4.8

特征

  • 轻量,简朴易用
  • .NET框架内置,不必援用第三方库
  • 不支撑Cron表达式

FluentScheduler

FluentScheduler是由一名巴西的.NET开辟者Talles L开辟并保护的.NET平台下的一款自动定时使命调理器组件,它供应了比较雄厚的定时使命调理接口,开辟者能够疾速轻易地经由过程接口设置调理时候,比方:距离1秒,2秒...n秒,只实行一次,哪月的哪一天等等。详细请参考我之前写过的两篇关于FluentScheduler的文章:

  • 《引荐一个简朴、轻量、功用非常壮大的C#/ASP.NET定时使命实行治理器组件--FluentScheduler》
  • 《简朴、轻量、功用非常壮大的C#/ASP.NET定时调理使命实行治理组件–FluentScheduler之实例篇》

官方地点: https://github.com/fluentscheduler/FluentScheduler

特征

  • 供应雄厚的使命调理接口,设置轻易

TaskScheduler

TaskScheduler是一个为Windows使命调理顺序供应.NET的封装组件,能够替代Windows操纵体系自带的定时使命运用,供应了代码和编辑器两种体式格局建立定时使命。它聚合了多个版本,并供应编辑调理编辑器以疾速建立定时使命。

官方地点: https://github.com/dahall/TaskScheduler

特征

  • 支撑.NET的多个版本(.NET 2.0, 3.5, 4.0, 4.52 and .NET Standard 2.0.)
  • 支撑包含脚本言语在内的一切.NET言语,比方(PowerShell)
  • 支撑一切的V2本地化属性,甚至在V1的体系中
  • 支撑序列化成XML
  • 支撑目的版本的使命考证
  • 支撑Cron表达式触发器
  • 供应可视化的定时使命调理编辑器
  • 供应行动编辑器,触发器编辑器,事宜检察器,使命实行汗青检察器等对话框

Gofer.NET

Gofer.NET是支撑分布式的使命/功课调理组件,能够运转在.NET Core运用顺序中。

官方地点: https://github.com/brthor/Gofer.NET

特征

  • 运用通用表达式语法将功课增加到行列并实行
  • 可简朴地经由过程增加新节点来扩大使命事情池
  • 在Redis的支撑下,一切的使命都被耐久化

Coravel

Coravel是一个零设置的基于.NET规范库的微组件,它包含了定时使命调理,缓存,行列,事宜播送等等功用。

官方地点: https://docs.coravel.net/Scheduler/

  • 简朴,文雅,流通的代码誊写体式格局建立定时使命
  • 基于.NET规范库,跨平台
  • 雄厚的调理接口
  • 支撑Cron表达式
  • 支撑全局错误处置惩罚

Quartz.NET

Quartz.NET是一个开源的定时功课调理项目,旨在建立一个免费贸易运用的功课调理器,同时具有“企业级”的特征。Quartz.NET现在的版本是支撑跨平台的,即支撑.NET和.NET Core的运用顺序。

官方地点: http://www.quartz-scheduler.net/

特征

  • API 操纵简朴,只需几行简朴的代码你就能够在运用顺序内里完成本身的功课调理,并及时看管功课实行状况
  • 触发器功用壮大,比 Windows 的使命设计供应更细的触发粒度
  • 优越的可扩大性,它基于接口编程,你能够完成本身的 Schedule 调理器,Job 功课,以及 Trigger 触发器等
  • 耐久化,功课能够保留在内存中,也能够耐久化到数据库,支撑多种数据库范例:SqlServer、Oracle、MySql等
  • 分布式和集群,这是一个高等运用,能够在多台计算机之间建立负载平衡、容错处置惩罚
  • 支撑Cron表达式
  • 支撑以设置文件的体式格局定制功课调理

详细运用可参考《基于ASP.NET MVC(C#)和Quartz.Net组件完成的定时实行使命调理》

Hangfire

Hangfire是一个支撑.NET和.NET Core运用顺序的跨平台的背景功课处置惩罚框架,运用Hangfire时不再须要Windows效劳或许零丁的历程。Hangfire能够在ASP.NET/ASP.NET Core等运用顺序中以简朴的体式格局完成触发,耽误以及定时实行等使命。同时还支撑CPU和I/O密集型、长时候运转和短时候运转的功课而不须要设置Windows效劳或许其他的使命调理。Hangfire支撑多种数据存储体式格局,如:Redis, SQL Server, SQL Azure和MSMQ等。

官方地点: https://www.hangfire.io

特征

  • 装置简朴,疾速入门:没有Windows效劳,没有Windows调理顺序,不须要零丁的运用顺序
  • 可耐久化:背景功课是在存储中耐久存储介质中的,如:SQL Server、Redis、PostgreSQL、MongoDB等
  • 功课数据通明:内置的web界面允许您检察背景功课的团体状况,以及视察每一个背景功课的状况
  • 牢靠:背景功课一旦无非常地被建立,Hangfire担任最少处置惩罚一次这个功课
  • 分布式:背景要领挪用及其参数是序列化的,因而能够战胜历程边界题目
  • 可扩大:功课过滤器允许您以类似于ASP.NET MVC操纵过滤器的体式格局向背景处置惩罚增加自定义功用
  • 高效:只管默许装置运用SQL Server和轮询来猎取功课,但能够应用MSMQ或Redis扩大来将处置惩罚耽误降低到最低
  • 自保护:你不须要手动保护和清算存储空间,Hangfire会尽能够地自动清算旧的数据
  • 开源免费:Hangfire是开源的框架而且对商用免费,只需遵照LGPLv3允许即可

结束语

本文旨在为人人收集整理.NET/.NET Core中常常运用的定时使命框架和组件,愿望对你有协助。

假如你另有其他的或许更好的框架/组件,迎接留言反应。

码友网:一个专注.NET/.NET Core开辟的编程爱好者社区

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
C#/.NET/.NET Core定时使命调理的要领或许组件有哪些--Timer,FluentScheduler照样...

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/282233.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>