日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

分布式系統架構之構建你的任務調度中心

分布式系統中,我們經常會遇到定時執行任務,而這些定時任務中,多數情況都是需要執行一些http請求。比如:

  • 輪訓支付結果(雖然第三方支付中心有支付回調,但有時候并不能有效保證你的業務系統能收到正確的結果)
  • 未支付訂單超時取消,電商系統訂單,用戶未支付訂單,超時后取消訂單
  • 已支付已簽收訂單,超時后自動完成訂單
  • 同步微信公眾號用戶數據做分析
  • 同步企業微信通訊錄及客戶信息
  • 等等
    很多業務場景都需要用到定時執行http請求的任務

本次,我們在netcore 環境,使用 Jango.JobCenter來快速構建我們的任務調度中心

Jango.JobCenter目前是基于Hangfire的 .NETStandard 2.0版本Demo源碼,請移步https://github.com/jangocheng/Jango.JobCenter.demo

dotnet new webapi 創建一個webapi項目

分布式系統架構之構建你的任務調度中心

 

dotnet add package Jango.JobCenter --version 1.0.0.1

分布式系統架構之構建你的任務調度中心

 

編輯StartUp文件

  1. 引用 Jango.JobCenter
using Jango.JobCenter;
  1. 修改ConfigureServices(IServiceCollection services)
services.AddJangoJobCenter();
  1. 修改Configure(IApplicationBuilder app, IWebHostEnvironment env)
app.UseJangoJobCenter();
分布式系統架構之構建你的任務調度中心

 

還原依賴包后,dotnet run 運行

分布式系統架構之構建你的任務調度中心

 

可以看到,我們的任務調度中心已經運行起來了。

https://localhost:5001/hangfire 查看任務中心儀表盤

分布式系統架構之構建你的任務調度中心

 

https://localhost:5001/swagger/index.html 查看Jango.JobCenter 的文檔

分布式系統架構之構建你的任務調度中心

 

Jango.JobCenter第一個接口為測試接口,僅僅Console輸出

curl -X POST "https://localhost:5001/console" -H "accept: */*" -d ""

或者postman post 調用https://localhost:5001/console

分布式系統架構之構建你的任務調度中心

 

可以看到結果輸出 job name console is working now.

第二個接口為http 創建定時任務接口參數如下:

{
  "name": "",//job name
  "desc": "",//job 描述
  "url": "",//定時調用url
  "method": "", //http method :get/post/put/delete
  "header": "",//http header 以kv形式,多個以,分割 比如: k1:v1,k2:v2
  "requestBody": "",//http 請求體
  "isRetry": true,//遇到錯誤是否重試
  "retryTimes": 0,//重試次數
  "isCircle": true,//是否周期性任務
  "cron": "*/5 * * * * ?"//cron 表達式  此項移除,則系統默認5s執行一次http請求
}

我們來測試下:參數輸入:

{
  "name": "demo", //demo
  "desc": "定時調用百度",//
  "url": "https://www.baidu.com",
  "method": "get",//get方式
  "header": "",
  "requestBody": "",
  "isRetry": false,// 錯誤后不重試
  "retryTimes": 0,
  "isCircle": true//周期性任務 
  //無Cron參數,系統默認每隔5s執行一次任務
}

postman執行:返回結果:

分布式系統架構之構建你的任務調度中心

 

來看下console輸出:

分布式系統架構之構建你的任務調度中心

 

黃色背景的內容,即為定時執行的結果。我們來看下任務中心面板

分布式系統架構之構建你的任務調度中心

 

我們來看下任務中心儀表盤

分布式系統架構之構建你的任務調度中心

 

可以看到已經開始執行任務了

至此,你的任務調度中心,已經構建完成。可以任意創建相關任務了

分享到:
標簽:分布式 架構 系統
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定