记录一次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

    

posted @ 2019-01-25 14:12  夏天的水果  阅读(414)  评论(0编辑  收藏  举报