麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

.net分布式架構之任務調度平臺

2019-11-14 13:50:20
字體:
來源:轉載
供稿:網友

開源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.TaskManager

.net 任務調度平臺

用于.net dll,exe的任務的掛載,任務的隔離,調度執行,訪問權限控制,監控,管理,日志,錯誤預警,性能分析等。

1) 平臺基于quartz.net進行任務調度功能開發,采用C#代碼編寫, 支持corn表達式和第三方自定義的corn表達式擴展。

2) 架構以插件形式開發,具有良好的功能擴展性,穩定性,簡單性,便于第三方開發人員進一步進行功能擴展。

3) 支持多節點集群,便于集群服務器的資源有效分配,任務的相互隔離。

4) 支持郵件形式的錯誤預警,便于運維及時處理任務異常等。


開源相關群: .net 開源基礎服務 238543768

任務demo

using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Text;using System.Threading.Tasks; namespace Dyd.BaseService.TaskManager.Demo{    /// <summary>    /// 任務調度平臺 任務插件的寫法demo及說明    /// </summary>    public class DemoTask : XXF.BaseService.TaskManager.BaseDllTask    {        /// <summary>        /// 任務調度平臺根據發布的任務時間配置,定時回調運行方法        /// 開發人員的任務插件必須要重載并該方法        /// </summary>        public override void Run()        {            /*              * this.OpenOperator 用于任務調度平臺提供給第三方使用的所有api接口封裝             */             /*獲取當前任務dll安裝目錄*/            this.OpenOperator.GetTaskInstallDirectory();             /*打印一條日志到任務調度平臺,因為日志會存到平臺數據庫,所以日志要精簡,對任務出錯時有分析價值【注意:不要頻繁打印無用的,非必要的,對分析無價值的日志信息】*/            this.OpenOperator.Log("這里打印一條日志到任務調度平臺");             /*打印一條錯誤到任務調度平臺,因為日志會存到平臺數據庫,所以日志要精簡,對任務出錯時有分析價值【注意:不要頻繁打印無用的,非必要的,對分析無價值的日志信息】             *后續任務會有增加優先級區分,根據任務的優先級,錯誤的出現頻率等,錯誤日志會定期推送到開發者郵箱和短信*/            this.OpenOperator.Error("這里打印一條錯誤日志到任務調度平臺", new Exception("錯誤msg信息"));             /*從數據庫獲取任務的臨時數據,臨時數據以jason的形式保存在數據庫里面,便于任務上下文的恢復和信息傳遞【注意:不應用于"頻繁的"存儲"大量的"臨時數據,會操作網絡耗時和數據庫性能差】*/            var databasetempinfo = this.OpenOperator.GetDataBaseTempData<DemoTaskDatabaseTempInfo>();            if (databasetempinfo == null)//若任務第一次運行,可能沒有臨時數據。當然也可以在發布任務的時候配置臨時數據也可。            {                databasetempinfo = new DemoTaskDatabaseTempInfo();                databasetempinfo.LastLogID = 0;            }             /*將任務的臨時數據持久化到數據庫中,臨時數據以json的形式保存在數據庫里面,便于任務上下文的恢復和信息傳遞【注意:不應用于"頻繁的"存儲"大量的"臨時數據,會操作網絡耗時和數據庫性能差】              若臨時數據用于下一次使用,必須要執行此方法,否則下次無法獲取【注意:執行此方法,當前臨時數據有可能被重置為null,便于內存資源釋放】*/            this.OpenOperator.SaveDataBaseTempData(databasetempinfo);             /*從本地安裝目錄中獲取任務的臨時數據,臨時數據以jason的形式保存在本地,便于任務上下文的恢復和信息傳遞【注意:本地臨時數據一般用于保存"大量的"臨時數據】*/            var localtempinfo = this.OpenOperator.GetLocalTempData<DemoTaskLocalTempInfo>();            if (localtempinfo == null)//若任務第一次運行,可能沒有臨時數據。當然也可以在發布任務的時候上傳臨時數據json至安裝壓縮包中也可。            {                localtempinfo = new DemoTaskLocalTempInfo();                localtempinfo.file = new byte[0];            }             /*將任務的臨時數據持久化到本地安裝目錄中,臨時數據以json的形式保存在本地安裝目錄里面,便于任務上下文的恢復和信息傳遞【注意:本地臨時數據一般用于保存"大量的"臨時數據】              若臨時數據用于下一次使用,必須要執行此方法,否則下次可能無法獲取【注意:執行此方法,當前臨時數據有可能被重置為null,便于內存資源釋放】*/            this.OpenOperator.SaveLocalTempData(localtempinfo);             {                string msg = "執行業務中...."+ this.AppConfig["sendmailhost"];                Debug.WriteLine(msg);                System.IO.File.AppendAllText(this.OpenOperator.GetTaskInstallDirectory()+"業務.txt", msg);            }        }        /// <summary>        /// 開發人員自測運行入口        /// 需要將項目配置為->控制臺應用程序,寫好PRogram類和Main入口函數        /// </summary>        public override void TestRun()        {            /*測試環境下任務的配置信息需要手工填寫,正式環境下需要配置在任務配置中心里面*/            this.AppConfig = new XXF.BaseService.TaskManager.SystemRuntime.TaskAppConfigInfo();            this.AppConfig.Add("sendmailhost", "smtp.163.com");            this.AppConfig.Add("sendmailname", "[email protected]");            this.AppConfig.Add("passWord", "******");             base.TestRun();        }    }     /// <summary>    /// 任務調度平臺之臨時數據信息,用于任務上下文的信息傳遞。    /// 將會以json形式保存在任務調度平臺數據庫中,便于下一次回調運行時恢復并使用。【注意:不應用于"頻繁的"存儲"大量的"臨時數據,會操作網絡耗時和數據庫性能差】    /// </summary>    public class DemoTaskDatabaseTempInfo    {        public int LastLogID { get; set; }    }     /// <summary>    /// 任務調度平臺之臨時數據信息,用于任務上下文的信息傳遞。    /// 將會以json形式保存在任務調度平臺本地安裝文件夾中,便于下一次回調運行時恢復并使用?!咀⒁猓罕镜嘏R時數據一般用于保存"大量的"臨時數據】    /// </summary>    public class DemoTaskLocalTempInfo    {        public byte[] file { get; set; }    }}

 

  
web后端部分截圖及安裝


上一篇:AutoMapper(一)

下一篇:NPOI導Excel樣式設置

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久夜色精品国产老牛91 | 中文字幕在线永久 | 国产一级淫片免费看 | 55夜色66夜色国产精品视频 | 黄色日韩网站 | 婷婷亚洲一区二区三区 | 日本xxxx色视频在线观看免费, | 亚洲综合网站 | 欧美大逼网 | 久青草免费视频 | av播放在线| 污黄视频在线播放 | 国产精品视频免费网站 | 中国老女人一级毛片视频 | 国产免费观看一区二区三区 | 日韩高清电影 | 欧洲成人综合网 | 91九色视频在线播放 | xxxxhd86日本护士hd | 久久千人斩 | 91午夜在线观看 | 热99re久久免费视精品频软件 | 免费看欧美黑人毛片 | 黄色特级片黄色特级片 | 欧美性激情视频 | 色综合网在线观看 | 欧美国产免费 | 线观看免费完整aaa 久久不雅视频 | 免费一级欧美在线观看视频 | 日本看片一区二区三区高清 | 国产精品久久久久久久hd | 欧美一页 | 国产成人综合在线视频 | 久久艹逼 | 久草在线视频中文 | 欧美日韩一区二区综合 | 精品国产一区在线 | av电影在线观看免费 | 一级免费a| 九九精品在线观看视频 | 久久国产精品一区 |