记录一次quartz.net的rpc调用失败
使用的技术和版本
在使用net core框架和quartz.net3.0.6版本
前因:
想把以前的用net做的quartz定时调用的项目,优化一下,
老版本
net 4.5 + quartz.net的2.6.1版本 + Dapper + log4net
owin + quartz 直接实现增加job就增加作业的做法,所有的作业都是保存在内存中的
缺点:
每次部署都要修改代码,增加新的job
开发量和业务混杂
优点:
好像想不到...............................
新版本
net core 2.1 + quartz.net 3.0.6 + EF + NLog
1.使用net core的依赖注入
2.启用了quartz.net的数据库调用模式,把所有的调度放到数据库而不是计算机的内存中
3.采用了httpClient这个远程调用工具,把业务和调度项目分离
4.调度项目分为创建调度器项目和调度远程调用项目,实际原理是采用原来的rpc
出现的问题
net core不支持rpc的调用这种方式所以,net core的这种模式gg了
改用net原理和上面一样
这里推荐一些工具和一个大佬的开源项目
quartz的corn表达式验证
https://www.bejson.com/othertools/cronvalidate/
大佬现成框架博客地址
https://www.cnblogs.com/clly/p/9360698.html
过去的永远过去,未来的一直在等待.