您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關開源任務管理平臺TaskManager如何分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Quartz.NET是一個開源的作業調度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#寫成,可用于winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執行一個作業而創建簡單的或復雜的調度。它有很多特征,如:數據庫支持,集群,插件,支持cron-like表達式等等。下載地址:Quart.Net
舉個實際例子:現在需要實現一款快遞進度查詢的應用,我們肯定是沒有各個快遞廠商的數據庫的,只能利用廠商提供的API接口來獲取數據。好在現在有很多現成的接口集成了各廠商,基于這些基礎。現在客戶提了一個需求,在快遞單進度發生改變時,給我發郵件或者短信提醒。我想很多網上購物的朋友都有這種需求吧,買了一款東西,時不時的查一下進度,期待早點到。那么這個提醒功能就很迫切了,我也是基于自己的這個需求來做的TaskManager開源項目。
Cron表達式是用來指定任務執行頻率的,前面我已經寫了一篇Quartz Cron表達式 在線生成器的文章,大家可以直接拿來使用。
TaskManager是基于Quartz.NET的一款開源任務管理系統,使用Window服務來承載。目前系統集成了四個常用任務,代理IP爬蟲,快遞進度,消息通知,動態修改Job任務。
代理IP爬蟲:每隔一小時從網站上爬取最新的代理IP信息,爬下來的數據存在p_IPProxy表,有了這些代理IP以后,可以用來做投票機,刷接口之類的應用了。相信你肯定遇到過同學或同事發給你一個鏈接讓你幫忙給XX投個票之類的問題,但是呢很多投票都限制了一個IP只能投一票,那么有了許多代理IP你就可以實現一個人投N票了。
快遞進度:這對熱衷于網購的朋友來說是一大福音,當然對我來說也是如此。經常網購的朋友最大的困擾可能就是我的快遞到哪兒啦,時不時打開客戶端查一下快遞進度,要是有快遞進度改變能夠發短信或者郵件提醒的功能就好了,我就再也不用著急查快遞到哪兒了。來看一下郵件提醒效果,有沒有很激動,很想使用這個開源TaskManager平臺啦!
消息通知:消息通知相關表p_Message(待發送消息表),p_MessageHistory(已發送或者發送失敗消息表)
目前快遞任務有信息變更會插入一條消息,消息通知任務3分鐘輪詢一次p_Message表,對于每個消息最多會進行三次發送(前兩次都失敗),發送完成將p_Message數據插入到p_MessageHistory
動態修改Job:每個5分鐘會讀取配置文件TaskConfig.xml看是否有新增,修改,刪除的任務,然后動態調整當前運行的任務。無需重啟Windows就可以實現任務的添加。
開發模式:
添加一個新任務步驟如下
1.在Mysoft.Task項目TaskSet文件夾下添加繼承IJob接口的任務類,可以參照現有的IpProxyJob
2.修改TaskConfig.xml配置文件
最重要的部分運行頻率CronExpressionString需要怎么寫?這里也替大家考慮到了,可以使用在線Cron生成器來生成,地址http://jason.hahuachou.com/cron/index.htm,也可以使用源代碼里面提供的Cron自己部署站點使用。
介紹完了功能和實現原理,現在介紹怎么使用TaskManager。由于是使用Windows服務做為承載器,那么我們只需要知道怎么安裝Windows服務,也就能使用該平臺了。這里考慮到很多人不知道怎么安裝卸載Windows服務,所以提供了我之前寫的一個小工具Windows服務安裝卸載。源代碼也一起放在了TaskManager里面。
1.右鍵以管理員方式運行Windows安裝卸載工具
2.選擇TaskManger.exe-》安裝-》運行
運行成功以后可以在系統管理-》服務 里面找到“定時任務管服務”
運行成功后會生成Logs文件夾,記錄執行日志的
當然在使用系統時你需要進行相關配置,下面講一下配置過程。系統的配置文件路徑Config\Config.xml
1.數據庫連接信息
使用者可以拿從SVN下載代碼MyDocument項目下的任務系統”SQL合并腳本_20150911.sql”執行創建相關表和初始數據
修改節點SqlConnect節點的值為你自己的數據庫連接
2.插入快遞單模擬數據
目前使用快遞任務需要自己手工插入快遞單號信息
INSERT INTO dbo.p_ExpressInfo(ExpressNo,ExpressCompanyCode,Receiver)SELECT '880350384879600241' AS ExpressNo,'yuantong' AS ExpressCompanyCode,'youemial@xx.com' AS Receiver
其中youemail@xx.com為接收進度信息變更郵箱地址,只要有進度變更,系統會自動發郵件,記得修改成自己的郵箱地址
ExpressNo:為快遞單號
ExpressCompanyCode:快遞公司Code 該值可從p_ExpressCompany表里面進行查詢。
上述就是小編為大家分享的開源任務管理平臺TaskManager如何分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。