BCVP开发者说第5期:QuartzCore.Blazor
沉靜歲月,淡忘流年
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數據主要用于首頁實時圖表數據展示。
運行服務端
注意:qzblazor/apkimg 是我構建的鏡像,我未上傳倉庫 需要docker build (本例子使用no_mongo分支構建)
4
分層介紹
????
分層介紹
上述的思維導圖層次也很清晰,整體上是前后分離2層+share dto層
QuartzCore.Blazor.Client是單獨的前端(類似vue,編譯生成是靜態文件)
?
(項目文件)
(生成的靜態文件)
QuartzCore.Blazor.Share
(項目文件)
QuartzCore.Blazor.Server(api層)
QuartzCore.Blazor.Server(api層)
(項目文件)
Quartz使用場景
redis緩存預熱
業務補償機制
數據同步
新增任務項
Http WebApi調用方式比較獨立,只需要配置api地址支持GET和POST,無需重新部署平臺
程序集調用,需要繼承JobBase,方便記錄日志,需求重新部署平臺 注釋:報警郵箱是預留的字段,由于沒有公共的郵箱服務器,而且也沒必要這邊先預留,小伙伴若有需求可自己添加上邏輯
基于Net/Core,快速搭建 API & SPA 及微服務應用組織
BASE NETCORE (VUE) PROJECT TEAM
每一個.NET開發者都可以通過自己的開源項目(最好可以配套簡單發表些文章)在這里進行分享,BCVP開發者組織的意義就是激發和挖掘更多的作品,可能偏基礎,但是都會有價值。目的就是希望:每個人能將從社區學到的知識,進行自己消化和總結,濃縮成一個個獨立的項目,接著投入到社區,最后讓更多的初學者去了解、去學習、去思想碰撞,從而達到學習來源于社區,最后反哺于社區的良好循環目的,我們都是學生,也都是下一批初學者的老師,這才應該是一個社區正向推動的方法。
地址:
https://github.com/BaseCoreVueProject
可以在Home倉庫里,查看具體的流程說明,只要你愿意分享,就來吧。
加入我們
總結
以上是生活随笔為你收集整理的BCVP开发者说第5期:QuartzCore.Blazor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core ActionF
- 下一篇: .NET 云原生架构师训练营(模块二 基