3 HCE project, Python bindings, DC dependencies 4 The isHostAvailable method tests. 7 @author bgv bgv.hce@gmail.com 8 @link: http://hierarchical-cluster-engine.com/ 9 @copyright: Copyright © 2016 IOIX Ukraine 10 @license: http://hierarchical-cluster-engine.com/license/ 19 if 'method' in parameters
and int(parameters[
'method']) == 0:
20 from urlparse
import urlparse
23 pr = pr.netloc.split(
':')
30 if 'domain_name_resolve' in parameters
and int(parameters[
'domain_name_resolve']) == 1:
32 ai = socket.getaddrinfo(host, port, 0, 0, socket.IPPROTO_TCP)
34 if 'connect_resolve' in parameters
and int(parameters[
'connect_resolve']) == 1:
35 if 'connection_timeout' in parameters
and float(parameters[
'connection_timeout']) > 0:
36 timeout = float(parameters[
'connection_timeout'])
38 af, socktype, proto, canonname, sa = item
39 s = socket.socket(af, socktype, proto)
40 s.settimeout(float(timeout))
43 except Exception, err:
45 print 'ERROR:', str(sa), str(err)
46 if logger
is not None:
47 logger.debug(
"Host %s connect check error: %s", str(sa), str(err))
53 except Exception, err:
55 print 'ERROR:', str(err)
56 if logger
is not None:
57 logger.debug(
"Host %s availability check error: %s", str(url), str(err))
62 p = {
"method":0,
"domain_name_resolve":1,
"connect_resolve":1,
"connection_timeout":0.5}
def isHostAvailable(url, parameters, logger=None, timeout=0.5)