開源任務管理平臺TaskManagerV2.0介紹及升級說明

  上一篇開源任務管理平臺TaskManager介紹發佈後,有網友聯繫我看看能不能作個後臺管理界面,方便管理系統中全部的任務。因爲時間和技術問題1.0版本的時候,新增了一個3分鐘讀取配置文件動態修改任務的功能,不過整體來講仍是不直觀,操做不便捷。恰好最近接觸到了Owin,能夠實現本身的宿主程序運行Web站點,無需IIS中便可運行後臺Web,這裏演示的是點擊控制檯程序運行的結果。最近利用閒暇時間使用該技術實現了後臺管理程序,也就是本文要說的TaskManagerV2.0版本。對TaskManagerV1.0版本不瞭解的能夠先看下。最終實現的界面以下,也能夠打開這個地址http://tm.myscloud.cn在線瀏覽。仍是以前的老規矩文章末尾會提供程序和源代碼下載地址。html

閱讀目錄git

V2.0升級說明

  2.0相對於以前的版本最大變化有四點
github

     1.後臺管理程序web

      最明顯的區別提供了後臺管理程序,用戶啓動TaskManager時,便可經過瀏覽器進入後臺管理系統輕鬆的配置管理全部任務,方便的查看任務最近運行時間和下一次運行時間。固然後臺管理程序站點地址也是能夠由用戶進行配置的,後面會進行講解。數據庫

     2.多樣化宿主程序瀏覽器

     V1.0基於Window服務實現,V2.0能夠使用控制檯程序,Windows服務 或者傳統Web程序來重載。框架

  3.任務存儲方式ide

      系統全部任務存儲在數據庫中,再也不採用1.0版本存儲在xml配置文件中。svn

      4.自動以系統管理員方式啓動工具

      在程序啓動前會先判斷當前是否以管理員方式運行,若是不是則會重啓以管理員方式運行

      最重要的變化,Web管理站點無需用戶部署在iis中,啓動控制檯程序或者服務時會自動啓動

Cron表達式

    Cron表達式是用來指定任務執行頻率的,前面我已經寫了一篇Quartz Cron表達式 在線生成器的文章,你們能夠直接拿來使用。

開源TaskManagerV2.0實現原理

    TaskManager是基於Quartz.NET和Nancy的一款開源任務管理系統,能夠使用Window服務或者控制檯程序來承載,Web後臺實現採用Nancy Host實現,下一篇將介紹一下這個技術。

    項目結構介紹:

    

  後臺管理站點徹底獨立於window服務和控制檯程序,鬆耦合。下面看下這兩個承載服務是怎麼啓動後臺站點的。

  window服務

  protected override void OnStart(string[] args)
        {
            DebuggableAttribute att = System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttribute<DebuggableAttribute>();
            if (att.IsJITTrackingEnabled)
            {
                //Debug模式才讓線程中止10s,方便附加到進程調試
                Thread.Sleep(10000);
            }
            //配置信息讀取
            ConfigInit.InitConfig();
            QuartzHelper.InitScheduler();
            QuartzHelper.StartScheduler();

            // 保持web服務運行  
            ThreadPool.QueueUserWorkItem((o) =>
            {
                //啓動站點
 Startup.Start(SysConfig.WebPort);
            });
        }

   在window服務啓動時,調用了Web程序提供的啓動接口。

   控制檯程序  

 static void Main(string[] args)
        {
            AdminRun.Run();
            ConfigInit.InitConfig();
            QuartzHelper.InitScheduler();
            QuartzHelper.StartScheduler();
            try
            {
                //啓動站點
                using (NancyHost host = Startup.Start(SysConfig.WebPort))
                {
                    //調用系統默認的瀏覽器   
                    Process.Start("http://127.0.0.1:9000");
                    Console.WriteLine("系統監聽站點地址:{0}", "http://127.0.0.1:9000");
                    Console.WriteLine("程序已啓動,按任意鍵退出");
                    Console.ReadLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.Read();
        }

使用介紹

  初次使用須要新建數據庫,執行發佈程序下的SQL合併腳本,修改config配置文件中的數據庫鏈接。

   

   

  使用Windows服務作爲承載器

  那麼咱們只須要知道怎麼安裝Windows服務,也就能使用該平臺了。這裏考慮到不少人不知道怎麼安裝卸載Windows服務,因此提供了我以前寫的一個小工具Windows服務安裝卸載。源代碼也一塊兒放在了TaskManager裏面。

  1.運行Windows安裝卸載工具

  2.選擇TaskManger.exe-》安裝-》運行

 

 運行成功之後能夠在系統管理-》服務 裏面找到「定時任務管服務」

運行成功後會生成Logs文件夾,目前系統會分任務記錄執行日誌,方便使用者查看各個任務的執行狀況

 3.瀏覽器打開http://本機IP:9000 進入後臺

  使用控制檯程序作爲承載器

  點擊運行Ywdsoft.Test.exe

 後臺管理程序使用介紹

  1.自定義站點端口

  修改Config.config文件,默認端口爲9000

  

 2.編輯界面Cron表達式如何填寫

       這裏也替你們考慮到了,能夠使用在線Cron生成器來生成,地址http://tool.myscloud.cn,也能夠使用源代碼裏面提供的Cron本身部署站點使用。

 3.其它可自行摸索

總結

      本篇要介紹的內容到此結束了,下面到了放出源代碼的時間了。敬請期待下一篇!

   關於如何下載下面SVN代碼,我這裏稍微介紹一下。這個地址不是在瀏覽器裏面打開的(若是想在瀏覽器裏面預覽能夠訪問:http://code.taobao.org/p/TaskManagerPub/src/Branch/),請使用SVN客戶端工具TortoiseSVN->SVN Checkout->輸入下面的地址進行下載。

  

      TaskManagerSVN地址:http://code.taobao.org/svn/TaskManagerPub/Branch   使用svn checkout指令進行下載。

  GitHub地址:因爲SVN地址不穩定,不少網友下載不下來,因此決定將代碼託管到GitHub   https://github.com/CrazyJson/TaskManager

      體驗工具下載地址:任務管理框架 V2.0

相關文章
相關標籤/搜索