在线文档:http://doc.yc-l.com/#/README

在线演示地址:http://yc.yc-l.com/#/login

源码github:https://github.com/linbin524/yc.boilerplate

源码gitee:https://gitee.com/linxuanming/yc.boilerplate

视频教程:

元磁之力框架开源初心和框架设计介绍(上): https://www.bilibili.com/video/BV1VM4y1G7hC/

元磁之力框架开源初心和框架设计介绍(下): https://www.bilibili.com/video/BV15h411s7w6/

元磁之力框架数据库表和代码生成使用教程实战: https://www.bilibili.com/video/BV1oM4y137D5/

定时服务 Quartz.net

基础介绍

Quartz.net 是YC.Boilerplate 集成定时服务模块,采用约定开发模式,统一继承相关接口,实现自己业务开发。

采用IOC 注入模式是使用单例注册

约定接口

  • ICronConfig 服务时间表达式设置,可以采用配置化拓展
  • IJobLibray 服务统一类库集合
  • IJobsConfig 服务配置

操作基础流程

  1. JobService目录下新建 xxxJobService 文件夹,其中xxx 表示自定义服务名。
  2. 创建一个类 xxxJob 并继承接口 IJobxxxJobExecute(IJobExecutionContext context)方法去具体编写要进行定时服务的代码.
  3. 分别实现ICronConfigIJobLibrayIJobsConfig.
  4. 编写完成后,在YC.ServiceWebApiQuartzModule.cs 去实现注入配置。
  5. YC.ServiceWebApiStartup.cs文件中的执行如下操作
       _quartzRepository = quartzRepository;
    await _scheduler.Start(); List<IJobLibray> jobLibraysList = new List<IJobLibray>();
    //jobLibraysList.Add(new CreateDirFolderJobLibray());//指定的服务
    //jobLibraysList.Add(new WriteFileJobLibray());
    //jobLibraysList.Add(new DeleteLogJobLibray()); var list = await _quartzRepository.DefaultRunningServer(jobLibraysList);//自动开始服务。

设计说明

本模块设计本身是一套插件化服务,但为了更好的web的开发模式配合,降低复杂度,所以统一在YC.QuartzService模块中去实现。

如果对插件化模式感兴趣,可参考我另一套插件化模式开源Demo:https://github.com/linbin524/LBPL

拓展改造说明

  1. 可以根据插件化模式,直接进行安装服务模块不同进行注入;
  2. 可以根据提供的仓储方法对服务进行暂停、启用、关闭等控制,进行界面可视化监控运维功能实现。
  3. 如果非注入模式,可以参考QuartzTest 采用工厂模式直接调用。

第九章 Net 5.0 快速开发框架 YC.Boilerplate --定时服务 Quartz.net的更多相关文章

  1. 第十二章 Net 5.0 快速开发框架 YC.Boilerplate --千万级数据处理解决方案

    在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...

  2. 第十一章 Net 5.0 快速开发框架 YC.Boilerplate --图数据库模块Neo4j

    在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...

  3. 第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍

    YC.Boilerplate 框架介绍 YC.Boilerplate 是一套快速开发框架,采用当下流行的前后端分离开发模式,前端 采用VUE.后端采用Net 5.0:框架实现了 多租户.动态webAp ...

  4. 实战SpringCloud响应式微服务系列教程(第九章)使用Spring WebFlux构建响应式RESTful服务

    本文为实战SpringCloud响应式微服务系列教程第九章,讲解使用Spring WebFlux构建响应式RESTful服务.建议没有之前基础的童鞋,先看之前的章节,章节目录放在文末. 从本节开始我们 ...

  5. 精通Web Analytics 2.0 (11) 第九章: 新兴分析—社交,移动和视频

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第九章: 新兴分析-社交,移动和视频 网络在过去几年中发生了不可思议的发展变化:从单向对话到双向对话的转变; 由视频,Ajax和 ...

  6. Gradle 1.12 翻译——第九章 Groovy快速入门

    由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表. 有关其他已翻译的章节请关注Github上的项目:https://githu ...

  7. .NET 跨平台RPC框架DotNettyRPC Web后台快速开发框架(.NET Core) EasyWcf------无需配置,无需引用,动态绑定,轻松使用 C# .NET 0配置使用Wcf(半成品) C# .NET Socket 简单实用框架 C# .NET 0命令行安装Windows服务程序

    .NET 跨平台RPC框架DotNettyRPC   DotNettyRPC 1.简介 DotNettyRPC是一个基于DotNetty的跨平台RPC框架,支持.NET45以及.NET Standar ...

  8. 《HiWind企业快速开发框架实战》(0)目录及框架简介

    <HiWind企业快速开发框架实战>(0)目录及框架简介 本系列主要介绍一款企业管理系统快速开发框架,该框架旨在快速完成企业管理系统,并实现易维护可移植的目标. 使用逐个系统模块进行编码的 ...

  9. 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github

    4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...

随机推荐

  1. php cookie赋值使用

    setcookie('username',$user,time()+3600*24);    //cookie赋值 public function login(){ //cookie 使用       ...

  2. wireshark常见分析

    转载于https://www.cnblogs.com/sn1per/p/12553064.html https://www.cnblogs.com/csnd/p/12332421.html 直接看上面 ...

  3. 关于vue3简单状态管理约定引发的思考

    官方文档的代码是这样的 export const store = { debug: true, state: reactive({ message: 'Hello!' }), setMessageAc ...

  4. 关于C语言中的unsigned

    在C语言中,对unsigned做出(unsigned int)i>=0 判断,将会得到一个永真值. int i; for(i=10;i-sizeof(int)>=0;i--){ print ...

  5. Kubernetes安装报错总结

    1.kubeadm  init初使化报错 [root@k8s01 ~]# kubeadm  init --kubernetes-version=v1.13.3 --pod-network-cidr=1 ...

  6. 获取异常信息里再出异常就找不到日志了,我TM人傻了

    本系列是 我TM人傻了 系列第三期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了 最近组 ...

  7. XCTF-open-source

    下载附件拿到源码. #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { if ( ...

  8. 我的大学Android开发学习之路——从开始到微信/支付宝/抖音Offer

    前言 笔者2016年高考考入华中科技大学计算机科学与技术专业. 2017年底(大二寒假)拿到今日头条(字节跳动)深圳研发中心Android开发实习生Offer,在深圳研发中心实习至2018年3月. 2 ...

  9. CentOS时间日期类语法

    目录 一.date时间日期类 1. date显示当前时间 2. date 显示非当前时间 3. date 设置系统时间 二.cal 查看日历 一.date时间日期类 date [OPTION]... ...

  10. VIM的命令历史

    例如有一段文本,将所有CTRL替换为ctrl,将所有A替换为a,也就是执行了:%s/CTRL/ctrl/g和:%s/A/a/g两条命令,然后进行了很多其他编辑,最后关闭VIM. 后来又有一段文本,也需 ...