阅读文章(首页/网页制作/HTML/JavaScript/)

定时任务,js版本

[日期:2006-06-02] 来源:  作者: [字体: ]

作定时处理的话,我们首先考虑到的就是自己写个程序,然后把这个程序部署到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)

http://www.w3schools.com/dom/dom_http.asp

以上解决方案,感谢Lostinnet和思归的帮助。



阅读:
录入:blue1000

评论 】 【 推荐 】 【 打印
上一篇:下拉列表可以输入也可以选择
下一篇:JavaScript经典效果集锦
相关文章      
本文评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款