如何掌握Quartz.net分布式定时任务的姿势


这篇文章给大家介绍如何掌握Quartz.net分布式定时任务的姿势,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。长话短说,今天聊一聊分布式定时任务,我的流水账笔记:细心朋友稍一分析,就知道还有问题:
水平扩展后的WebApp的Quartz.net定时任务会多次触发, 因为webapp实例使用的是默认的RAMJobStore, 多实例在内存中都维护了Job和Trigger的副本.我的定时任务是同步任务,多次执行倒是没有太大问题,但对于特定业务的定时任务, 多次执行可能是致命问题。基于此,来看看Quartz.net 分布式定时任务的姿势很明显,水平扩展的多实例需要一个 独立于web实例的机制来存储Job和Trigger.Quartz.NET提供ADO.NET JobStore来存储任务数据。执行脚本之后,会看到数据库中多出几个以 QRTZ_开头的表可采用编码形式或者 quartz.config形式添加配置从https://github.com/quartznet/quartznet/tree/master/database/tables 下载合适的数据库表脚本, 生成指定的表结构本次使用编码方式添加AdoJobStore配置。
首次启动会将代码中Job和Trigger持久化到sqlite,后面就直接从sqlite中加载Job和Trigger上面是Quartz.NET 从sqlite中加载Job和Trigger的核心代码这里要提示两点:①IOCJobFactory 是自定义JobFactory,目的是与ASP.NET Core原生依赖注入结合
② 在调度任务的时候,先判断是否已经从sqlit 香港云主机e加载了Job和Trigger附赠Quartz.NET的调度UI: CrystalQuartz, 方便在界面管理和调度任务
① Install-Package CrystalQuartz.AspNetCore -IncludePrerelease
② Startup启用CrystalQuartz③ 在localhost:YOUR_PORT/quartz地址查看调度关于如何掌握Quartz.net分布式定时任务的姿势就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

相关推荐: win8浏览器网页未响应怎么办

这篇文章将为大家详细讲解有关win8浏览器网页未响应怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、打开IE浏览器,点击浏览器右上角的“齿轮”图标,在下拉列表中选择“Internet选项”。2、在弹出来的Intern…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/17 20:28
下一篇 08/17 20:29

相关推荐