溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Nancy打造TaskManager2.0管理系統(tǒng)

發(fā)布時(shí)間:2021-11-10 17:45:35 來(lái)源:億速云 閱讀:148 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)如何使用Nancy打造TaskManager2.0管理系統(tǒng),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

有網(wǎng)友聯(lián)系我看看能不能做個(gè)后臺(tái)管理界面,方便管理系統(tǒng)中所有的任務(wù)。由于時(shí)間和技術(shù)問(wèn)題1.0版本的時(shí)候,新增了一個(gè)3分鐘讀取配置文件動(dòng)態(tài)修改任務(wù)的功能,不過(guò)總體來(lái)說(shuō)還是不直觀,操作不便捷。剛好最近接觸到了Owin,可以實(shí)現(xiàn)自己的宿主程序運(yùn)行Web站點(diǎn),無(wú)需IIS中即可運(yùn)行后臺(tái)Web,這里演示的是點(diǎn)擊控制臺(tái)程序運(yùn)行的結(jié)果。最近利用閑暇時(shí)間使用該技術(shù)實(shí)現(xiàn)了后臺(tái)管理程序,也就是小編要說(shuō)的TaskManagerV2.0版本。

V2.0升級(jí)說(shuō)明

  2.0相對(duì)于之前的版本最大變化有四點(diǎn)

     1.后臺(tái)管理程序

      最明顯的區(qū)別提供了后臺(tái)管理程序,用戶啟動(dòng)TaskManager時(shí),即可通過(guò)瀏覽器進(jìn)入后臺(tái)管理系統(tǒng)輕松的配置管理所有任務(wù),方便的查看任務(wù)最近運(yùn)行時(shí)間和下一次運(yùn)行時(shí)間。當(dāng)然后臺(tái)管理程序站點(diǎn)地址也是可以由用戶進(jìn)行配置的,后面會(huì)進(jìn)行講解。

     2.多樣化宿主程序

     V1.0基于Window服務(wù)實(shí)現(xiàn),V2.0可以使用控制臺(tái)程序,Windows服務(wù) 或者傳統(tǒng)Web程序來(lái)重載。

  3.任務(wù)存儲(chǔ)方式

      系統(tǒng)所有任務(wù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,不再采用1.0版本存儲(chǔ)在xml配置文件中。

      4.自動(dòng)以系統(tǒng)管理員方式啟動(dòng)

      在程序啟動(dòng)前會(huì)先判斷當(dāng)前是否以管理員方式運(yùn)行,如果不是則會(huì)重啟以管理員方式運(yùn)行

      最重要的變化,Web管理站點(diǎn)無(wú)需用戶部署在iis中,啟動(dòng)控制臺(tái)程序或者服務(wù)時(shí)會(huì)自動(dòng)啟動(dòng)

回到頂部

Cron表達(dá)式

    Cron表達(dá)式是用來(lái)指定任務(wù)執(zhí)行頻率的,前面我已經(jīng)寫(xiě)了一篇Quartz Cron表達(dá)式 在線生成器的文章,大家可以直接拿來(lái)使用。

回到頂部

開(kāi)源TaskManagerV2.0實(shí)現(xiàn)原理

    TaskManager是基于Quartz.NET和Nancy的一款開(kāi)源任務(wù)管理系統(tǒng),可以使用Window服務(wù)或者控制臺(tái)程序來(lái)承載,Web后臺(tái)實(shí)現(xiàn)采用Nancy Host實(shí)現(xiàn),下一篇將介紹一下這個(gè)技術(shù)。

    項(xiàng)目結(jié)構(gòu)介紹:

    如何使用Nancy打造TaskManager2.0管理系統(tǒng)

  后臺(tái)管理站點(diǎn)完全獨(dú)立于window服務(wù)和控制臺(tái)程序,松耦合。下面看下這兩個(gè)承載服務(wù)是怎么啟動(dòng)后臺(tái)站點(diǎn)的。

  window服務(wù)

protected override void OnStart(string[] args)
        {
            DebuggableAttribute att = System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttribute<DebuggableAttribute>();            if (att.IsJITTrackingEnabled)
            {                //Debug模式才讓線程停止10s,方便附加到進(jìn)程調(diào)試Thread.Sleep(10000);
            }            //配置信息讀取            ConfigInit.InitConfig();
            QuartzHelper.InitScheduler();
            QuartzHelper.StartScheduler();            // 保持web服務(wù)運(yùn)行  ThreadPool.QueueUserWorkItem((o) =>
            {                //啟動(dòng)站點(diǎn)                Startup.Start(SysConfig.WebPort);
            });
        }

   在window服務(wù)啟動(dòng)時(shí),調(diào)用了Web程序提供的啟動(dòng)接口。

   控制臺(tái)程序  

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

使用介紹

  初次使用需要新建數(shù)據(jù)庫(kù),執(zhí)行發(fā)布程序下的SQL合并腳本,修改config配置文件中的數(shù)據(jù)庫(kù)連接。

  使用Windows服務(wù)做為承載器

  那么我們只需要知道怎么安裝Windows服務(wù),也就能使用該平臺(tái)了。這里考慮到很多人不知道怎么安裝卸載Windows服務(wù),所以提供了我之前寫(xiě)的一個(gè)小工具Windows服務(wù)安裝卸載。源代碼也一起放在了TaskManager里面。

  1.運(yùn)行Windows安裝卸載工具

  2.選擇TaskManger.exe-》安裝-》運(yùn)行

 運(yùn)行成功以后可以在系統(tǒng)管理-》服務(wù) 里面找到“定時(shí)任務(wù)管服務(wù)”

運(yùn)行成功后會(huì)生成Logs文件夾,目前系統(tǒng)會(huì)分任務(wù)記錄執(zhí)行日志,方便使用者查看各個(gè)任務(wù)的執(zhí)行情況

 3.瀏覽器打開(kāi)http://本機(jī)IP:9000 進(jìn)入后臺(tái)

  使用控制臺(tái)程序做為承載器

  點(diǎn)擊運(yùn)行Ywdsoft.Test.exe

 后臺(tái)管理程序使用介紹

  1.自定義站點(diǎn)端口

  修改Config.config文件,默認(rèn)端口為9000

 2.編輯界面Cron表達(dá)式如何填寫(xiě)

       這里也替大家考慮到了,可以使用在線Cron生成器來(lái)生成,地址http://tool.myscloud.cn,也可以使用源代碼里面提供的Cron自己部署站點(diǎn)使用。

 3.其它可自行摸索

以上就是如何使用Nancy打造TaskManager2.0管理系統(tǒng),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI