主頁 > 知識(shí)庫 > ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法

ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法

熱門標(biāo)簽:不封卡外呼系統(tǒng)一般多少錢 地圖標(biāo)注中心多少錢注冊 地圖標(biāo)注不完整被罰款 微信地圖標(biāo)注有什么用 鄭州語音電銷機(jī)器人官網(wǎng) 重慶外呼電銷系統(tǒng)費(fèi)用 濰坊呼叫中心外呼系統(tǒng)供應(yīng)商 北京大興區(qū)地圖標(biāo)注 電銷機(jī)器人一個(gè)多少錢

一個(gè)很常見的 ASP 問題 : “如何定時(shí)工作流程執(zhí)行網(wǎng)頁?”, 之所以會(huì)問這個(gè)問題大部分是因?yàn)楣芾韱T可能會(huì)利用一個(gè) ASP 網(wǎng)頁來作數(shù)據(jù)庫維護(hù)的動(dòng)作, 如備份, 在 Windows NT 平臺(tái)有一個(gè)方法可以做工作流程, 那就是 AT 指令 + Schedule 服務(wù),就是計(jì)劃任務(wù), 但很可惜的是你并沒有法度在命令列 (Command-Line) 執(zhí)行 ASP 網(wǎng)頁 。

當(dāng)然你可以在命令列執(zhí)行 IE 并告訴它要求執(zhí)行的網(wǎng)頁, 例如:
c:\program files\internet explorer\iexplore.exe http://localhost/mypage.asp,
不過, 這絕對不是大部分的網(wǎng)站管理者所要的方法, 因?yàn)檫@必須要開啟瀏覽器, 花費(fèi)許多的系統(tǒng)資源, 此外, 還有一個(gè)缺點(diǎn), 那就是執(zhí)行 ASP 網(wǎng)頁有逾時(shí)時(shí)間 (Timeout), 如果你要執(zhí)行許多的流程工作, 你可能要更改 Timeout 時(shí)間, 太麻煩了,直接忽視。

在這一篇文章要介紹的是使用 WSH (Windows Scripting Host) 的解決方案。

假設(shè)你現(xiàn)在有一個(gè)廣告輪撥系統(tǒng), 你想將檢查廣告到期日這件工作自動(dòng)化每天凌晨執(zhí)行, 也就是當(dāng)一則廣告過期了, 便將其廣告狀態(tài)更改為停用, 我們先來看看資料表 AdInfo 字段 。

復(fù)制代碼 代碼如下:

AdId 廣告代碼 INT
AdName 廣告名稱 VARCHAR(64)
ValidToDate 廣告到期日 DateTime
AdStatus 廣告狀態(tài) INT (0為停用, 1為進(jìn)行)

接下來看看如何用 WSH, 基本上和 ASP 的寫法是一樣的除了不需加上 ASP 分隔符,不能使用Server.,存盤的擴(kuò)展名為 .vbs 。

由于不是使用 asp.dll , 因此沒有 ASP 的對象模式并不適用,所以這樣寫Server.CreateObject會(huì)報(bào)錯(cuò)。

利用 WSH 作定時(shí)工作流程 :

復(fù)制代碼 代碼如下:

'請勿用 Server.CreateObject
Set oConn = CreateObject("Adodb.Connection")
oConn.Open YourConnString
sSQL = "update AdInfo set AdStatus=0 " _
   "where ValidToDate ='" Date "'"
oConn.Execute(sSQL)
oConn.Close
Set oConn = Nothing

存為 c:\scripts\updateadstatus.vbs,
WSH 有兩個(gè)版本, 一為窗口版 (wscript.exe), 一為命令列版 (cscript.exe),。

在這個(gè)例子我們將使用 (cscript.exe), 你可以在 DOS 命令列下執(zhí)行 :

復(fù)制代碼 代碼如下:

c:\&;cscript c:\scripts\updateadstatus.vbs

接著你可以到數(shù)據(jù)庫下查詢資料是否更新, 在實(shí)際的應(yīng)用上, 建議你使用批此檔來區(qū)分不同時(shí)段的工作, 好比說我會(huì)創(chuàng)造一支名為 dailytask.bat 的批次檔來執(zhí)行所有的每日例行工作, 如此一來, 我只需將所有每日應(yīng)執(zhí)行的 script 放到這支批次檔即可, 然后利用 AT Command 或是 SQL Server Agent 定時(shí)每日執(zhí)行 dailytask.bat 。

強(qiáng)烈建議使用 SQL Server Agent, 這會(huì)比使用 AT Command 來得有效率且穩(wěn)定!

設(shè)定 SQL Server Agent 你可以執(zhí)行 Enterprise Manager, 展開后會(huì)看到這樣的畫面。

復(fù)制代碼 代碼如下:

鼠標(biāo)右點(diǎn) Jobs, 選擇 New Job 。
選擇 Step 按 New 。
指定 Step Name , Type 請選擇 Operating System Command, 并設(shè)定執(zhí)行的 Command 。
選擇 Schedule 設(shè)定你的流程。

下面是數(shù)據(jù)庫的截圖:

標(biāo)簽:撫州 攀枝花 汕頭 揭陽 鶴崗 佛山 海南 唐山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法》,本文關(guān)鍵詞  ASP,中,實(shí)現(xiàn),執(zhí)行,定時(shí),任務(wù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP中實(shí)現(xiàn)執(zhí)行定時(shí)任務(wù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章