国精品产品一区,深夜福利视频一区二区,日韩av自拍,国产一区二区高清

您的位置: 首頁  >  軟件下載  >  編程開發  >  ScheduleMaster
95.56%
4.44%

ScheduleMaster v2.2

  • 軟件介紹
  • 相關下載

ScheduleMaster提供分布式任務調度功能,可以幫助用戶在軟件上配置工作方案,讓復雜、多線程的任務運行更加流暢,對于需要建立任務調度系統的朋友很有幫助,您可以在軟件上管理設備,可以建立設備任務執行流程,可以設置任務依賴以及觸發條件,可以實時監控項目運行過程,可以在軟件查看運行狀態,可以實時監控報警項目,讓用戶可以更好遠程,更好配置調度方案;ScheduleMaster可以快速創建新的工作任務,您可以控制任務啟動和停止,可以設置異常報警提醒方案,可以對調度任務統計,提供的功能非常多!

ScheduleMaster軟件功能

基于.NET Core 3.1平臺構建,支持跨平臺多節點部署運行。

簡易的Web UI作;

任務動態管理:創建、啟動、停止、暫停、恢復、刪除等;

高可用支持,跨平臺多節點部署。

數據安全,不會出現多實例并發調度。

支持自定義參數設置;

支持.NET Core和.net framework(4.6.1+);

支持自定義配置文件和熱更新;

支持設置監護人,運行異常時郵件告警;

支持設置任務依賴,自動觸發,共享任務結果;

插件式開發,任務運行環境隔離;

全鏈路志系統,運行軌跡輕松掌控;

用戶訪問控制;

提供開放REST API,業務系統可以無縫集成;

調度報表統計;

任務分組管理;

計劃表拆分實現復用;

指定節點運行;

支持http任務配置;

支持延時任務;

任務監控;

資源監控;

支持異常策略配置(失敗重試、超時控制等);

接入redis緩存;

多數據庫類型支持;

用戶權限更加精細化;

報表統計完善;

ScheduleMaster軟件特色

1、ScheduleMaster可以幫助用戶配置任務調度方案

2、可以設置工作方案,可以對復雜的數據訪問流程調度

3、支持系統配置功能,可以在軟件對節點設置,可以對響應方式設置

4、支持郵件功能,您可以在軟件配置郵件提醒方案

5、支持HTTP設置功能,可以設置HTTP任務執行時的超時時間。

6、可以在軟件配置任務,可以添加任務節點

7、支持參數配置,在軟件設置任務配置方案,設置參數

8、支持動態參數啟動,支持配置文件啟動,支持志跟蹤

ScheduleMaster教程

一、部署方式介紹

由于.NET Core天生就對云原生的友好支持,本項目針對各種部署場景提供了多種簡單有效的方式。

從不同角度來看,它又支持不同的形式。

– 按應用配置角度:支持**靜態配置文件**和**運行時動態參數**。

– 按應用啟動角度:支持**自動注冊模式**和**手動連接模式**。

以上幾種方式都是互相結合使用,相輔相成的。

再稍微解釋下本項目涉及的幾個核心概念:

– **Master**:系統主控制臺,表現上是一個ASP.NET Core MVC的web應用,它是所有任務和節點的控制中心,是用戶和調度系統的交互窗口。

– **Worker**:任務執行器,也就是實際執行任務的載體,由Master通過HTTP的方式進行管理。

– **Node(節點)**:運行了Master或Worker的一個web進程,系統要運行必須要至少啟動2個節點,也就是1個Master和至少1個Worker。

> 要注意的是,Master和Worker必須使用同一個數據庫。

### 靜態配置文件啟動

這是項目早期唯一支持的啟動方式,在節點啟動前通過修改配置文件`appsettings.json`中指定配置項`NodeSetting`的參數實現節點配置。

在自動注冊模式下,這些配置將被注冊到數據庫中,成為節點間互相訪問的依據。

在手動連接模式下,配置將會失效,這時候節點間訪問完全依賴于在控制臺中手動配置的。

> 要注意的是,Master只提供了自動注冊模式,也就是必須要在啟動前配置好參數,而Worker可以支持上面提到的2種模式,下同。

這種啟動方式適合節點數不是很多,并且使用傳統部署方式的場景。

### 動態參數啟動

在很多場景下,使用配置文件并不是一種好的方案,特別是參數中的IP和端口并不好提前預定,很典型的是在使用Docker部署的情況下需要根據不同的配置文件生成不同的鏡像,又或者是使用Kubernetes進行節點彈伸縮時非常不便,這是不能忍受的。

為了充分適應容器部署,我設計了動態參數啟動模式,支持使用運行時參數改變節點配置。

在自動注冊模式下,可以使用命令行參數覆蓋對應的配置文件參數,對應的參數名分別是:`–identity`、`–ptocol`、`–ip`、`–port`、`–poty`、`–maxc`,這種模式下還是要依賴于配置文件,只是動態參數有更高的優先級。

在手動連接模式下,節點依賴于控制臺中的配置,**但是必須要使用動態參數告訴應用禁用自動注冊**,有如下2種方式:

– 使用環境變量,設置 **`CORE_AUTOR=false`** 和 **`CORE_WORKEROF=你的master節點名稱`**。

– 使用命令行參數,設置 **`–tor=false`** 和 **`–workef=你的master節點名稱`**。

有了動態參數,我們可以使用一個Docker鏡像,通過不同啟動參數就能部署多個節點。而有了手動連接方式,可以非常方便的使用Kubernetes對節點做彈伸縮。

**系統默認情況下是以配置文件和自動注冊模式啟動。

二、動態參數啟動

參考《配置文件啟動》的步驟先獲得項目的發布文件。

動態參數對自動注冊模式和手動連接模式都有效,下面分別介紹這兩種模式下的使用。

### 自動注冊節點

這是系統默認的啟動方式,適用于Master和Worker,除非顯式聲明禁用。

禁用方式為使用環境變量 **`CORE_AUTOR=false`** 或者命令行參數 **`–tor=false`** ,禁用的同時必須指定要連接的Master節點名稱: **`CORE_WORKEROF=你的master節點名稱`** 或者 **`–workef=你的master節點名稱`**。注意:禁用只對Worker部署有效!

自動注冊模式下支持配置文件+命令行參數的配置方式,如果設置了命令行參數則會覆蓋對應的配置文件參數。

#### 在Windows中運行

演示如何使用命令行參數覆蓋配置文件中的IP和端口字段(假設配置文件中的IP是localhost,端口是100):

* 找到Master的發布目錄,執行命令`dotnet Hos.ScheduleMaster.Web.dll –ip=192.168.8.27 –port=30000`啟動程序。

* 找到Worker的發布目錄,執行命令`dotnet Hos.ScheduleMaster.QuartzHost.dll –urls http://*:30001 –identity=worker1 –ip=192.168.8.27 –port=30001`啟動程序。

“`

* 還是在這個Worker的發布目錄,執行命令`dotnet Hos.ScheduleMaster.QuartzHost.dll –urls http://*:30002 –identity=worker2 –ip=192.168.8.27 –port=30002`即可再啟動一個Worker進程。

“` shell

“`

打開Master的控制臺,進入節點管理頁面,發現命令行參數已生效。

#### 在Linux中運行

作步驟同上。

#### 在Docker中運行

* 在Master的發布目錄中執行`docker build -t ms_master .`命令生成master鏡像,再執行`docker run -d -p 30000:30000 –name=”mymaster” ms_master bash –ip=192.168.8.27 –port=30000`運行容器。

“` shell

[ot@master1 ms_master]# docker run -d -p 30000:30000 –name=”mymaster” ms_master –ip=192.168.8.27 –port=30000

3bbbec2398d9147f9aa1d9e57a4741385ffd33558f83320d62a92d011e9aa143

“`

* 在Worker的發布目錄中執行`docker build -t ms_worker .`命令生成worker鏡像,再執行`docker run -d -p 30001:80 –name=”myworker1″ ms_worker bash –identity=docker-worker1 –ip=192.168.8.27 –port=30001`運行容器啟動worker1。

“` shell

[ot@master1 ms_worker1]# docker run -d -p 30001:80 –name=”myworker1″ ms_worker bash –identity=docker-worker1 –ip=192.168.8.27 –port=30001

5e446997d4a28b3c6ec0708a88d42a4d6baad1e5d5ae686d88c03e99c4e2003f

“`

* 繼續執行`docker run -d -p 30002:80 –name=”myworker2″ ms_worker bash –identity=docker-worker2 –ip=192.168.8.27 –port=30002`運行容器啟動worker2。

“` shell

[ot@master1 ms_worker2]# docker run -d -p 30002:80 –name=”myworker2″ ms_worker bash –identity=docker-worker2 –ip=192.168.8.27 –port=30002

0cad44660657d2251e71b73a46189117ec3aad1445c5176276d32fa06360d56e

“`

* 執行`docker ps`查看各容器運行狀態,如果運行不起來請容器log。

可以看到不需要重復給不同的Worker生成鏡像了,如果你不使用容器編排工具部署,以上方式已經足夠了。

### 手動連接模式

手動連接模式要解決的核心問題是那些不能提前預知IP和端口以及Worker平滑伸縮的場景,使用命令行參數依然要給每個容器(應用)單獨指定配置,使用Kubernetes Deployment做伸縮時還是不方便。

這時候可以禁用自動注冊,采用手動連接方式和Worker建立通信。下面只介紹在Windows下的使用方式,其他平臺也是類似。

* 第一步先啟動Worker進程:

“` shell

“`

* 第二步在控制臺創建一個節點(注意這里的主機地址要填Worker真實監聽的地址):

![ ](https://imgkr.cn-bj.ufileos.com/4bff500d-ce3d-442f-a8d7-13827c3e865a.png)

* 第三步對節點執行“連接”作,可以看到節點連接成功:

“` shell

info: Hos.ScheduleMaster.QuartzHost.Contllers.QuartzContller[0]

succesully connected to master-node!

“`

節點連接成功后是空閑狀態,可以對它執行“啟用”開啟調度功能。

> 小提示:對于這種部署場景,最好的辦法是在項目屬中設置環境變量徹底禁用自動注冊(或者在Dockerfile中設置環境變量),這樣就不用每次通過命令行參數禁用了。

三、編寫業務代碼

只有在程序集任務下才需要編寫自己的業務代碼,這種方式雖然實施起來比較麻煩,但靈活更好。

接入流程為:**安裝依賴包 -> 開發業務代碼 -> 打包上傳 -> 創建任務**

### 安裝依賴包

– 編譯項目后手動添加引用程序集文件`Hos.ScheduleMaster.Base.dll`。

– 在nuget中搜索`ScheduleMaster`直接安裝到項目中。

– 程序包管理控制臺中使用`install-package ScheduleMaster`安裝。

– 在命令行中使用`dotnet add package ScheduleMaster`安裝。

### 開發業務代碼

業務代碼類必須繼承自任務基類`Hos.ScheduleMaster.Base.TaskBase`,其中的象方法`public abstract void Run(TaskContext context);`即是業務執行入口,所以只需要重寫這個象方法即可。

下面是一個最簡單的示例:

#### 使用自定義配置文件:

“`

#### 上下級任務結果傳遞:

#### 取消一個長任務:

“`

更多的代碼示例可以參考源碼中的`Hos.ScheduleMaster.Demo`項目,如果您發現了更好的使用場景,歡迎提PR和大家一起分享。

### 打包上傳

業務代碼開發完成后需要把項目編譯成dll文件,并以項目名稱為文件名把和業務有關的dll文件以及配置文件打包成一個.zip壓縮包,您可以選擇兩種方式進行上傳:

– 在控制臺創建任務時通過上傳入口上傳文件包。

– 使用文件傳輸方式把文件包上傳到master進程的`/wwwot/plugins/`目錄下,大文件包推薦這種方式。

在打包和更新文件的過程中有幾點要特殊注意下:

– 文件包的命名務必以任務所在的程序集名稱命名,否則無法啟動。

– 在一個項目中開發了多個任務入口,文件包只需要上傳一次即可,但是要注意上傳的版本是否覆蓋到你所有的任務。

– 任務啟動時會默認加載最新的文件包,如果不想使用最新版本可以用系統參數`程序集任務-文件包拉取策略`進行設置。

– 打包時不需要把`Hos.ScheduleMaster.Base.dll`包含進去,否則會啟動失敗。

– 業務代碼盡量減少第三方dll依賴,否則會使得文件包太大導致啟動時無法預估的異常。

猜你喜歡

国精品产品一区,深夜福利视频一区二区,日韩av自拍,国产一区二区高清
在线日韩电影| 免费看欧美美女黄的网站| 日韩午夜av| 秋霞影院一区二区三区| 欧美黄色一区二区| 欧美日本不卡| 少妇精品在线| 亚洲香蕉久久| 国产精品毛片在线| 精品一区亚洲| 红桃视频欧美| 九九久久婷婷| 99国产精品自拍| 成人看片网站| 日韩欧美精品综合| 欧美天堂视频| 三级小说欧洲区亚洲区| 日韩精品免费一区二区在线观看| 亚洲女同av| 欧美黄色网页| 久久久天天操| 激情久久五月| 精品一区毛片| 午夜在线视频一区二区区别| 99视频精品免费观看| 噜噜噜躁狠狠躁狠狠精品视频 | 免费看欧美美女黄的网站| 国产美女精品| 蜜桃视频一区二区三区| 日韩超碰人人爽人人做人人添| 日日夜夜免费精品| 欧美专区一区| 欧美精品99| 精品国产欧美| 日韩另类视频| 欧美日韩精品一本二本三本| 在线视频亚洲| 日韩在线视频一区二区三区| 国产日产一区| av在线最新| 91精品成人| 亚洲一区二区三区四区电影| 国产精品日韩精品中文字幕| 欧美好骚综合网| 狠狠操综合网| 亚洲人成网站在线在线观看| 国产精品hd| 成人羞羞视频在线看网址| 99国产精品久久久久久久| 91成人福利| 欧美激情另类| 亚洲在线成人| 国产精品亚洲四区在线观看 | 国产色噜噜噜91在线精品| 精品国产乱码久久久| 欧美日韩国产在线观看网站 | 日韩欧美二区| 亚洲精品欧美| 国产一区二区三区日韩精品 | 在线一区免费| 蜜桃视频第一区免费观看| 国产美女视频一区二区| 人人香蕉久久| 综合五月婷婷| 精品国产一区二区三区av片| 九一国产精品| 国产精品白丝av嫩草影院| 欧美精品一二| 日韩高清不卡在线| 伊人网在线播放| 亚洲精品亚洲人成在线观看| 国内不卡的一区二区三区中文字幕 | 欧美日韩国产在线观看网站| 日韩免费精品| 黄在线观看免费网站ktv| 久久国产高清| 成人精品国产亚洲| 蜜臀av一区二区在线免费观看| 精品一区二区三区亚洲| 免费日韩视频| 国产白浆在线免费观看| 亚洲综合福利| 亚洲午夜久久久久久尤物 | 日韩精品视频一区二区三区| 国产高潮在线| 亚洲男人在线| av日韩中文| 亚洲精品九九| 久久精品国产68国产精品亚洲| 日韩在线观看一区二区三区| 色婷婷狠狠五月综合天色拍| 国产欧美在线| 美女尤物久久精品| 日韩精品影视| 国产精品.xx视频.xxtv| 免费人成在线不卡| 日韩免费福利视频| 国产欧美日韩精品一区二区免费| 亚洲国产专区校园欧美| 国产美女精品视频免费播放软件| 视频一区二区国产| av高清不卡| 国产精品欧美大片| 综合激情视频| 99在线|亚洲一区二区| 在线手机中文字幕| 欧美片网站免费| 中文无码久久精品| 欧美日韩视频一区二区三区| 午夜久久中文| 国产a久久精品一区二区三区| 日韩二区在线观看| 亚洲一级大片| 欧美资源在线| 欧美精品一线| 久久国产亚洲| 麻豆mv在线观看| 久久精品国产久精国产| 国产精品一级在线观看| 91精品一区| 日本不卡视频在线| 亚洲理论在线| 亚洲精品自拍| 亚洲欧洲日韩精品在线| 蜜臀久久99精品久久久久久9 | 日本欧美久久久久免费播放网| 中文在线一区| 黄页网站一区| 免费久久久久久久久| 久久人人99| 亚洲精品在线影院| 日韩欧美精品| 午夜影院一区| 91精品韩国| 色88888久久久久久影院| 天堂av在线| 欧美不卡高清一区二区三区| 伊人久久视频| 久久婷婷激情| 国产一区视频在线观看免费| 日韩免费福利视频| 秋霞影视一区二区三区| 欧美精品高清| 午夜av成人| 99久精品视频在线观看视频| 91精品国产乱码久久久久久久 | 久久久久中文| 999国产精品| 亚洲一级二级| 国产午夜久久| 日韩精品一级中文字幕精品视频免费观看 | 99国产一区| 伊人精品久久| 奇米色欧美一区二区三区| 91成人在线| 鲁大师精品99久久久| 伊人网在线播放| 久久精品一区二区不卡| 亚洲激情偷拍| 日韩中文字幕av电影| 亚洲人www| 国产精品久久久免费| 成人午夜亚洲| 丝袜美腿诱惑一区二区三区| 亚洲欧美日韩国产综合精品二区| 免费成人在线影院| 国产精品porn| 日韩欧美精品| 亚洲欧美日韩一区在线观看| 日韩国产精品久久久久久亚洲| 国产精品久久久久久久久久齐齐| 视频在线不卡免费观看| 1024精品一区二区三区| 亚洲欧美网站在线观看| 久久精品人人| 夜鲁夜鲁夜鲁视频在线播放| 夜夜嗨一区二区| 欧美日韩夜夜| 91tv亚洲精品香蕉国产一区| 免费在线观看一区二区三区| 欧美国产另类| 婷婷激情图片久久| 国产日韩一区二区三区在线播放| 色综合狠狠操| 久久国产精品亚洲77777| 欧美精品成人| 欧美日韩激情| 国产精品毛片aⅴ一区二区三区| 日本美女一区| 日本一不卡视频| 国产一区精品福利| 国产毛片久久| 国精品产品一区| 蜜臀av亚洲一区中文字幕| 国内精品亚洲| 亚洲精品成a人ⅴ香蕉片| 天堂日韩电影| 国产精品亚洲一区二区在线观看| 欧美中文字幕一区二区| 国产欧美自拍|