利用Js和計劃工作定時處理

日期:2006-08-16  作者:喜騰小二  來源:PHPChina


轉自:http://www4.blog.163.com/article/-3BQ2-r_97Ci.html

作定時處理的話,我們首先考慮到的就是自己寫個程式,然後把這個程式部署到Win的計劃工作中。
這個程式可以是簡單的批次dat檔案,也可以是一個js檔案。當然更復雜的dll,exe也可以。
考慮到方便性,易維護,我推薦用js檔案。

下麵是個簡單的js範例檔案。
他的功能是:訪問一個页面,如果發現這個页面異常重新啟動iis服務。
把它部署到計劃工作中,就可以對Web站點進行監控。

if(!CheckUrl())
{
 WScript.Echo("iisreset");
 var s = new ActiveXObject("WScript.Shell");
 s.Run("iisreset");
}
else
{
 WScript.Echo("OK");
}

function CheckUrl()
{
 try
 {
  var xh=new ActiveXObject("Microsoft.XMLHTTP");
  xh.open("GET","http://localhost/quickstart/aspplus/doc/businessobjs.aspx",false);
  xh.send("");
  return xh.status == 200;
 }
 catch( X )
 {
  return false;
 }
}

以上使用 Microsoft.XMLHTTP  如果一個站點沒有回應,他會一直等下去。改成  Msxml2.ServerXMLHTTP  就可以避免這個問題。參考下麵函式:

function CheckUrl()
{
 try
 {
  // 使用這個,可以設定逾時時間,不用一直等待。
  var xmlServerHttp = new ActiveXObject("Msxml2.ServerXMLHTTP");
  var lResolve = 5 * 1000;
  var lConnect = 5 * 1000;
  var lSend = 15 * 1000;
  var lReceive = 15 * 1000;
  xmlServerHttp.setTimeouts(lResolve, lConnect, lSend, lReceive);
  xmlServerHttp.open("GET", "http://localhost/quickstart/aspplus/doc/businessobjs.aspx", false);
  xmlServerHttp.send();
  return xmlServerHttp.status == 200; 
 }
 catch( X )
 {
  return false;
 }
}

如果妳要訪問的页面是需要身份驗證的。
請參考:
oXMLHttpRequest.open(Method, Url, Async, User, Password)

<<<返回技術中心

技術文章

站內新聞

我要啦免费统计