应用实例:用Javascript实现定时任务

javascript|定时|应用实例

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

时间: 2024-10-15 00:54:34

应用实例:用Javascript实现定时任务的相关文章

实例讲解JavaScript中的this指向错误解决方法_基础知识

看如下对象定义: 'use strict' var jane = { name : 'Jane', display : function(){ retrun 'Person named ' + this.name; } }; 这样能正常调用 jane.display(); 下面的调用会出错: var func = jane.display; func() TypeError: Cannot read property 'name' of undefined 因为,this指向已经改变,正确的方式

js实例教程:JavaScript Events 事件使用方法

js实例教程:JavaScript Events 方法 事件的行动,可以检测到了JavaScript . 活动 通过使用JavaScript ,我们有能力创建动态网页.事件的行动,可以检测到了JavaScript . 每个要素在网页上有一定的事件可以触发JavaScript函数.例如,我们可以使用onClick事件的一个按钮的内容表明,一个函数将运行当使用者按下按钮.我们确定了事件中的HTML标记. 事件的例子: 点击鼠标 一个网页或图片加载 鼠标过热点网页上 选择一个输入框在一个HTML表单

实例讲解JavaScript中instanceof运算符的用法_基础知识

instanceof 运算符简介 在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "object".ECMAScript 引入了另一个 Java 运算符 instanceof 来解决这个问题.instanceof 运算符与 typeof 运算符相似,用于识别正在处理的对象的类型.与 typeof 方法不同的是,instanceof 方法要求开发者明确地确

实例讲解JavaScript中call、apply、bind方法的异同_javascript技巧

以实例切入,讲解JavaScript中call,apply,bind方法,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> function MAN(name, sex, age) { this.name =

JavaScript实例教程:javascript制作纸牌游戏

文章简介:这几天忙着做了一个JavaScript的纸牌.与Windows的纸牌相似 好几天没有更新自己的博客了,这段时间,作业比较多,试验报告比较多,老师要写纸质试验报告,还要电子档,考试不按照她上课讲的思路那就得不到几分...她这观点一出来,我就傻了,不能有自己的见解了... 废话就到这里,小小抱怨一下,o(∩_∩)o下面进入正题,这几天忙着做了一个JavaScript的纸牌.与Windows的纸牌相似 规则如下: 1.有3个叠牌区域和4种牌,左上角叠牌区,右上角整理区,和中间的层叠区. 2.

实例分析javascript中的call()和apply()方法_基础知识

1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象. 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj. apply方法: 语法:apply([thisObj[,argArray]])

通过实例理解javascript中没有函数重载的概念_javascript技巧

将函数名想象为指针,也有助于理解为什么ECMAScript中没有函数重载的概念.如下例子: 复制代码 代码如下: function addSomeNum(num) {     return num+100; } function addSomeNum(num) {     return num+200; } var result=addSomeNum(100);//300 显然,这个例子中声明了两个同名函数,而结果则是后面的函数覆盖了前面的函数.以上代码实际上与下面的代码是一致的. 复制代码 代

Javascript排序实例

JavaScript排序的例子,如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">   <head>   <ti

用实例说明如何用JavaScript生成XML

javascript|xml|生成xml 文中尽量用上所有的操作和属性,以作总结: <script language="javascript"> <!-- var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM") //加载文档 //doc.load("b.xml"); //创建文件头