```python
import sys
import commands
XXXimport requests
XXX
cmip = "10.11.XXX.XXX"
cmuser = "admin"
cmpasswd = "XXXXXXXXXXXX"
cluster_name = "Cluster 1"
def get_running_job():
api = "http://%s:7180/api/v17/clusters/%s/services/impala/impalaQueries?filter=(queryState=RUNNING)"%(cmip,cluster_name)
s = requests.session()
s.auth = (cmuser, cmpasswd)
try:
res = s.get(api)
data = res.json()
querys = data['queries']
except Exception:
pass
return querys
def cancel_job(querys):
for query in querys:
querytime = query['durationMillis']
queryId = query['queryId']
hostId = query['coordinator']['hostId']
if querytime > 6000:
print "Use time: " + str(querytime)
ipapi = "http://%s:7180/api/v1/hosts/%s"%(cmip,hostId)
print ipapi
s = requests.session()
s.auth = (cmuser, cmpasswd)
try:
res1 = s.get(ipapi)
data1 = res1.json()
ipd = data1['ipAddress']
print ipd
except Exception:
pass
calapi = "http://%s:25000/cancel_query?query_id=%s"%(ipd,queryId)
print calapi
try:
res2 = s.get(calapi)
data2 = res2.json()
print data2
except Exception:
pass
else:
print "Not Timeout!"
if __name__ == '__main__':
querys = get_running_job()
cancel_job(querys)