溫馨提示×

溫馨提示×

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

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

開源任務(wù)管理平臺TaskManager如何分析

發(fā)布時間:2022-01-05 15:51:24 來源:億速云 閱讀:136 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)開源任務(wù)管理平臺TaskManager如何分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Quartz.NET介紹

  Quartz.NET是一個開源的作業(yè)調(diào)度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#寫成,可用于winform和asp.net應(yīng)用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執(zhí)行一個作業(yè)而創(chuàng)建簡單的或復(fù)雜的調(diào)度。它有很多特征,如:數(shù)據(jù)庫支持,集群,插件,支持cron-like表達式等等。下載地址:Quart.Net

  舉個實際例子:現(xiàn)在需要實現(xiàn)一款快遞進度查詢的應(yīng)用,我們肯定是沒有各個快遞廠商的數(shù)據(jù)庫的,只能利用廠商提供的API接口來獲取數(shù)據(jù)。好在現(xiàn)在有很多現(xiàn)成的接口集成了各廠商,基于這些基礎(chǔ)?,F(xiàn)在客戶提了一個需求,在快遞單進度發(fā)生改變時,給我發(fā)郵件或者短信提醒。我想很多網(wǎng)上購物的朋友都有這種需求吧,買了一款東西,時不時的查一下進度,期待早點到。那么這個提醒功能就很迫切了,我也是基于自己的這個需求來做的TaskManager開源項目。

Cron表達式

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

開源TaskManager介紹及實現(xiàn)原理

TaskManager是基于Quartz.NET的一款開源任務(wù)管理系統(tǒng),使用Window服務(wù)來承載。目前系統(tǒng)集成了四個常用任務(wù),代理IP爬蟲,快遞進度,消息通知,動態(tài)修改Job任務(wù)。

代理IP爬蟲:每隔一小時從網(wǎng)站上爬取最新的代理IP信息,爬下來的數(shù)據(jù)存在p_IPProxy表,有了這些代理IP以后,可以用來做投票機,刷接口之類的應(yīng)用了。相信你肯定遇到過同學(xué)或同事發(fā)給你一個鏈接讓你幫忙給XX投個票之類的問題,但是呢很多投票都限制了一個IP只能投一票,那么有了許多代理IP你就可以實現(xiàn)一個人投N票了。

快遞進度:這對熱衷于網(wǎng)購的朋友來說是一大福音,當(dāng)然對我來說也是如此。經(jīng)常網(wǎng)購的朋友最大的困擾可能就是我的快遞到哪兒啦,時不時打開客戶端查一下快遞進度,要是有快遞進度改變能夠發(fā)短信或者郵件提醒的功能就好了,我就再也不用著急查快遞到哪兒了。來看一下郵件提醒效果,有沒有很激動,很想使用這個開源TaskManager平臺啦!

消息通知:消息通知相關(guān)表p_Message(待發(fā)送消息表),p_MessageHistory(已發(fā)送或者發(fā)送失敗消息表)

目前快遞任務(wù)有信息變更會插入一條消息,消息通知任務(wù)3分鐘輪詢一次p_Message表,對于每個消息最多會進行三次發(fā)送(前兩次都失敗),發(fā)送完成將p_Message數(shù)據(jù)插入到p_MessageHistory

動態(tài)修改Job:每個5分鐘會讀取配置文件TaskConfig.xml看是否有新增,修改,刪除的任務(wù),然后動態(tài)調(diào)整當(dāng)前運行的任務(wù)。無需重啟Windows就可以實現(xiàn)任務(wù)的添加。

開發(fā)模式:

添加一個新任務(wù)步驟如下

1.在Mysoft.Task項目TaskSet文件夾下添加繼承IJob接口的任務(wù)類,可以參照現(xiàn)有的IpProxyJob

2.修改TaskConfig.xml配置文件

最重要的部分運行頻率CronExpressionString需要怎么寫?這里也替大家考慮到了,可以使用在線Cron生成器來生成,地址http://jason.hahuachou.com/cron/index.htm,也可以使用源代碼里面提供的Cron自己部署站點使用。

使用介紹

介紹完了功能和實現(xiàn)原理,現(xiàn)在介紹怎么使用TaskManager。由于是使用Windows服務(wù)做為承載器,那么我們只需要知道怎么安裝Windows服務(wù),也就能使用該平臺了。這里考慮到很多人不知道怎么安裝卸載Windows服務(wù),所以提供了我之前寫的一個小工具Windows服務(wù)安裝卸載。源代碼也一起放在了TaskManager里面。

1.右鍵以管理員方式運行Windows安裝卸載工具

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

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

運行成功后會生成Logs文件夾,記錄執(zhí)行日志的

當(dāng)然在使用系統(tǒng)時你需要進行相關(guān)配置,下面講一下配置過程。系統(tǒng)的配置文件路徑Config\Config.xml

1.數(shù)據(jù)庫連接信息

使用者可以拿從SVN下載代碼MyDocument項目下的任務(wù)系統(tǒng)”SQL合并腳本_20150911.sql”執(zhí)行創(chuàng)建相關(guān)表和初始數(shù)據(jù)

修改節(jié)點SqlConnect節(jié)點的值為你自己的數(shù)據(jù)庫連接

2.插入快遞單模擬數(shù)據(jù)

目前使用快遞任務(wù)需要自己手工插入快遞單號信息

INSERT INTO dbo.p_ExpressInfo(ExpressNo,ExpressCompanyCode,Receiver)SELECT '880350384879600241' AS ExpressNo,'yuantong' AS ExpressCompanyCode,'youemial@xx.com' AS Receiver

其中youemail@xx.com為接收進度信息變更郵箱地址,只要有進度變更,系統(tǒng)會自動發(fā)郵件,記得修改成自己的郵箱地址

ExpressNo:為快遞單號

ExpressCompanyCode:快遞公司Code 該值可從p_ExpressCompany表里面進行查詢。

上述就是小編為大家分享的開源任務(wù)管理平臺TaskManager如何分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI