#!/usr/bin/env python import os import sys import time os.system("touch /tmp/hello") output=os.popen('condor_status -long -direct ${HOSTNAME} ').readlines() #output="""State=Idle idle_time=0 busy_time=0 now=int(time.time()) status={} if output: for line in output: try: key, value = line.split("=") except ValueError: if not '=' in line: if 'EnteredCurrentState' in status: diff = now - int(status['EnteredCurrentState']) if status['State'] == '"Unclaimed"': idle_time += diff if status['State'] == '"Claimed"': busy_time += diff status={} continue if key.strip() in ('State', 'EnteredCurrentState', 'SlotID'): status[key.strip()]=value.strip() if idle_time > busy_time: print "MULTICORE_SHUTDOWN = True" fh = open('/tmp/mshutdown', 'w+') fh.write("%is > %is\n" %(idle_time, busy_time)) fh.close() sys.exit(0) print "MULTICORE_SHUTDOWN = False" sys.exit(0)