博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BCVP开发者说第5期:QuartzCore.Blazor
阅读量:4036 次
发布时间:2019-05-24

本文共 1938 字,大约阅读时间需要 6 分钟。

沉静岁月,淡忘流年

1

项目简介

QuartzCore.Blazor

    QuartzCore.Blazor 是一个基于 .Net5 开发的轻量级 Quartz 作业配置中心,实践应用 Ant Design Blazor 和 FreeSql 两个技术, 对这两个技术感兴趣的小伙伴可以加我一起学习讨论哦,对有 Quartz 有需求的小伙伴亦可以开箱即用Code First。

- 部署简单,支持 Docker 部署。

- 支持定时 Http Web API 调用(推荐),亦支持本程序集直接调用。
- 方便统计接入应用和任务项。
- Blazor WASM 模式,使用了 Ant Design Blazor。
- 支持随时修改 Trigger ,启动立刻生效,无需重启应用。
- 使用 FreeSql 作为数据库访问组件,亦可学习交流。

原项目地址:

https://github.com/SmartforXiaoYuan/QuartzCore.Blazor

作者博客:

https://www.jianshu.com/u/c90d7487710d

 

2

框架功能

 

在线项目演示:

http://49.232.221.48:5001

(blazor wasm 首次加载会慢一些)

账号:无

密码:无

 

(首页监控)

(首页图表)

(任务作业列表)

(任务作业新增)

核心功能
  1、实时时间区间执行统计

  2、应用管理

  3、健康检查

  4、作业管理

  5、执行日志

  6、参数管理

  7、提供Cron表达式验证

  8、其他

3

框架技术栈

(系统所用到的技术栈)

数据库

使用数据库来存储数据,提供了sqlite和mysql 可以根据用户配置选择,其他数据库亦可支持。使用Freesql为数据访问组件。Freesql对多数据库的支持更加强劲,特别是对国产数据库的支持。但是因为没有国产数据库的测试环境,本项目并未支持,如果有需要我可以开分支尝试支持,但是测试工作就要靠用户啦。

初始化数据库

用户只需要手工建一个空库,所有的表在第一次启动的时候都会自动生成。provider对照:mysql = MySql sqlite = Sqlite

Mongo

注:master分支默认有Mongo组件,运行时需要配置mongo地址,若不需要使用mongo,可以选择no_mongo分支直接部署运行即可;Mongo数据主要用于首页实时图表数据展示。

运行服务端

sudo docker run --name qzBlazor -e db:provider=sqlite -e db:conn="Data Source=dev_qzblazor.db" -p 5001:5001 qzblazor/apkimg

注意:qzblazor/apkimg 是我构建的镜像,我未上传仓库 需要docker build (本例子使用no_mongo分支构建)

4

分层介绍

    

分层介绍

上述的思维导图层次也很清晰,整体上是前后分离2层+share dto层

  • QuartzCore.Blazor.Client是单独的前端(类似vue,编译生成是静态文件)

 

(项目文件)

(生成的静态文件)

  • QuartzCore.Blazor.Share

(项目文件)

  • QuartzCore.Blazor.Server(api层)

(项目文件)

Quartz使用场景

  • redis缓存预热

  • 业务补偿机制

  • 数据同步

新增任务项

  1. Http WebApi调用方式比较独立,只需要配置api地址支持GET和POST,无需重新部署平台

  2. 程序集调用,需要继承JobBase,方便记录日志,需求重新部署平台 注释:报警邮箱是预留的字段,由于没有公共的邮箱服务器,而且也没必要这边先预留,小伙伴若有需求可自己添加上逻辑

基于Net/Core,快速搭建 API & SPA 及微服务应用组织

BASE NETCORE (VUE) PROJECT TEAM

每一个.NET开发者都可以通过自己的开源项目(最好可以配套简单发表些文章)在这里进行分享,BCVP开发者组织的意义就是激发和挖掘更多的作品,可能偏基础,但是都会有价值。目的就是希望:每个人能将从社区学到的知识,进行自己消化和总结,浓缩成一个个独立的项目,接着投入到社区,最后让更多的初学者去了解、去学习、去思想碰撞,从而达到学习来源于社区,最后反哺于社区的良好循环目的,我们都是学生,也都是下一批初学者的老师,这才应该是一个社区正向推动的方法。

地址:

https://github.com/BaseCoreVueProject

可以在Home仓库里,查看具体的流程说明,只要你愿意分享,就来吧。

加入我们

转载地址:http://vgkdi.baihongyu.com/

你可能感兴趣的文章
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>