[發(fā)明專利]一種運(yùn)行定時任務(wù)的方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201310451795.3 | 申請日: | 2013-09-27 |
| 公開(公告)號: | CN104516745B | 公開(公告)日: | 2018-09-04 |
| 發(fā)明(設(shè)計)人: | 朱志波 | 申請(專利權(quán))人: | 北京新媒傳信科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;H04L29/06 |
| 代理公司: | 北京市隆安律師事務(wù)所 11323 | 代理人: | 權(quán)鮮枝 |
| 地址: | 100089 北京市海淀區(qū)萬*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 運(yùn)行 定時 任務(wù) 方法 系統(tǒng) | ||
本發(fā)明公開了一種Asp.Net運(yùn)行定時任務(wù)的方法和系統(tǒng),其中,所述方法包括:創(chuàng)建任務(wù)激活器;獲取Asp.Net站點(diǎn)的應(yīng)用程序域,將所述任務(wù)激活器注冊在所述應(yīng)用程序域的應(yīng)用程序域卸載事件和應(yīng)用程序域父進(jìn)程退出事件中;當(dāng)所述Asp.Net站點(diǎn)被互聯(lián)網(wǎng)信息服務(wù)IIS回收時,執(zhí)行所述應(yīng)用程序域卸載事件或所述應(yīng)用程序域父進(jìn)程退出事件,使得所述任務(wù)激活器被執(zhí)行;通過所述任務(wù)激活器重新啟動所述Asp.Net站點(diǎn);在所述重新啟動的Asp.Net站點(diǎn)上創(chuàng)建并運(yùn)行Asp.Net定時任務(wù);本發(fā)明解決了在不降低IIS性能的前提下,實(shí)現(xiàn)定時任務(wù)穩(wěn)定運(yùn)行的問題。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)領(lǐng)域,特別涉及一種運(yùn)行定時任務(wù)的方法及系統(tǒng)。
背景技術(shù)
很多時候,程序需要在后臺線程定時的執(zhí)行一些任務(wù),比如定時發(fā)送郵件。單獨(dú)的Windows Service在運(yùn)行定時任務(wù)時,其穩(wěn)定性較好,但是需要單獨(dú)安裝,造成了部署復(fù)雜的問題;因此,附加于輕量級的Asp.Net進(jìn)程之內(nèi)的后臺定時任務(wù)憑借其方便部署、不需要單獨(dú)安裝等優(yōu)勢,在網(wǎng)絡(luò)程序設(shè)計領(lǐng)域具有了廣泛的應(yīng)用;所述Asp.Net是由微軟在.Net框架中提供的用來開發(fā)網(wǎng)頁應(yīng)用程序的類庫,是動態(tài)服務(wù)器頁面Asp的.Net版本。
但是,由于Asp.Net進(jìn)程運(yùn)行于互聯(lián)網(wǎng)信息服務(wù)IIS之中,那么附加于Asp.Net進(jìn)程之內(nèi)的后臺定時任務(wù),就容易受到IIS應(yīng)用程序定時回收的影響,造成后臺定時任務(wù)不穩(wěn)定或后臺定時任務(wù)不運(yùn)行的結(jié)果。如果通過把IIS應(yīng)用程序定時回收的間隔時間設(shè)置無限長或空閑超時無限長,來避免IIS應(yīng)用程序得自動回收,就會降低IIS性能。
發(fā)明內(nèi)容
本發(fā)明提供的一種運(yùn)行定時任務(wù)的方法及系統(tǒng),以解決在不降低IIS性能的前提下,實(shí)現(xiàn)定時任務(wù)穩(wěn)定運(yùn)行的問題。
本發(fā)明提供一種Asp.Net運(yùn)行定時任務(wù)的方法,所述方法包括:
創(chuàng)建任務(wù)激活器;
獲取Asp.Net站點(diǎn)的應(yīng)用程序域,將所述任務(wù)激活器注冊在所述應(yīng)用程序域的應(yīng)用程序域卸載事件和應(yīng)用程序域父進(jìn)程退出事件中;
當(dāng)所述Asp.Net站點(diǎn)被互聯(lián)網(wǎng)信息服務(wù)IIS回收時,執(zhí)行所述應(yīng)用程序域卸載事件或所述應(yīng)用程序域父進(jìn)程退出事件,使得所述任務(wù)激活器被執(zhí)行;
通過所述任務(wù)激活器重新啟動所述Asp.Net站點(diǎn);
在所述重新啟動的Asp.Net站點(diǎn)上創(chuàng)建并運(yùn)行Asp.Net定時任務(wù)。
優(yōu)選的,所述將所述任務(wù)激活器注冊在所述應(yīng)用程序域的應(yīng)用程序域卸載事件和應(yīng)用程序域父進(jìn)程退出事件中之后,所述方法還包括:
所述應(yīng)用程序域卸載事件和應(yīng)用程序域父進(jìn)程退出事件分別獲取所述Asp.Net站點(diǎn)的Asp.Net站點(diǎn)參數(shù);相應(yīng)的,所述通過所述任務(wù)激活器重新啟動所述Asp.Net站點(diǎn)具體為:
將所述應(yīng)用程序域卸載事件或應(yīng)用程序域父進(jìn)程退出事件獲取的所述Asp.Net站點(diǎn)參數(shù)通知所述任務(wù)激活器,根據(jù)所述Asp.Net站點(diǎn)參數(shù)通過任務(wù)激活器重新啟動所述Asp.Net站點(diǎn)。
優(yōu)選的,所述根據(jù)所述Asp.Net站點(diǎn)參數(shù)通過任務(wù)激活器重新啟動所述Asp.Net站點(diǎn)包括:創(chuàng)建Http客戶端,通過所述Http客戶端發(fā)送重新啟動所述Asp.Net站點(diǎn)的請求消息,所述請求消息中包含所述Asp.Net站點(diǎn)參數(shù);接收返回給所述Http客戶端的Http狀態(tài)返回碼;當(dāng)所述Http客戶端收到的所述Http狀態(tài)返回碼為200時,重新啟動所述Asp.Net站點(diǎn)。
優(yōu)選的,所述獲取Asp.Net站點(diǎn)的應(yīng)用程序域之前包括:判斷Asp.Net站點(diǎn)是否是第一次啟動,若不是,則退出;若是,則執(zhí)行所述獲取Asp.Net站點(diǎn)的應(yīng)用程序域。
優(yōu)選的,所述方法通過Http模塊接口實(shí)現(xiàn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京新媒傳信科技有限公司,未經(jīng)北京新媒傳信科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310451795.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測系統(tǒng)及運(yùn)行監(jiān)測方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計劃方法、運(yùn)行控制裝置和運(yùn)行計劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車輛
- 自動建模運(yùn)行系統(tǒng)及運(yùn)行方法
- 任務(wù)協(xié)作裝置及方法
- 用于量化任務(wù)價值的任務(wù)管理方法及裝置
- 用于運(yùn)行任務(wù)的系統(tǒng)、方法和裝置
- 一種分布式任務(wù)調(diào)度系統(tǒng)及方法
- 任務(wù)信息處理方法
- 一種同步任務(wù)異步執(zhí)行的方法和調(diào)度系統(tǒng)
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì)
- 一種自動分配和推送的任務(wù)管理平臺及方法
- 程序執(zhí)行控制的裝置及方法、終端和存儲介質(zhì)
- 基于會話的任務(wù)待辦方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)





