我们的一个网站有一个小故障,偶尔会把它弄坏-后端需要重新启动。替换还没有准备好生产,所以我创建了一个VBS脚本,它轮询服务器并在以下情况下重新启动服务器:
( a) HTTP代码<> 200,或b)页面加载,但在页面上找不到子字符串。
如果tomcat服务没有响应,HTTP状态检查就会超时;如果发生这种情况,我想调用一个函数。是否有可能捕获和处理超时?这是我相关代码片段的片段。
xmlhttp.setOption 2, 13056
xmlhttp.open "get", "https://www.mywebsite.com/thisurl", false
xmlhttp.send
if xmlhttp.status <> 200 then
call restartTomcat()
call emailAlert()
end if提前谢谢你。
发布于 2019-10-08 15:29:15
不幸的是,您无法在VBScript中创建对象事件处理程序。
也许您可以使用HTTP对象的.setTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout方法。在调用send方法之前添加此内容。以下是参数的描述:
resolveTimeout
一个长整数。该值被应用于将主机名(例如"www.microsoft.com")映射到IP地址;默认值是无限的,意味着没有超时。
connectTimeout
一个长整数。该值应用于与目标服务器建立通信套接字,默认超时值为60秒。
sendTimeout
一个长整数。该值适用于将通信套接字上的单个请求数据分组(如果有的话)发送到目标服务器。发送给服务器的大型请求通常会被分解为多个数据包;发送超时适用于单独发送每个数据包。默认值是30秒。
receiveTimeout
一个长整数。该值适用于从目标服务器接收响应数据分组。大型响应将被分解为多个数据包;接收超时适用于从套接字获取每个数据包。默认值是30秒。
您可以在send调用之后检查当前的状态。这将帮助您处理没有响应的服务器。
https://stackoverflow.com/questions/58289071
复制相似问题