def list_cus(self, pilot_url): pilot_compute = PilotCompute(pilot_url=pilot_url) cus = pilot_compute.list_compute_units() counter=1 print "\nPilot Compute: %s"%(pilot_compute.get_url()) print "State: %s"%(pilot_compute.get_state()) print "#\tCompute Unit\t\t\t\t\tState\tQueue\tRuntime" print "-----------------------------------------------------------------------------------------" if len(cus)==0: print "No Compute Unit found." for i in cus: url = i.get_url() short_url = url[url.index("sj"):] if short_url.find("/?")!=-1: short_url=short_url[:short_url.index("/?")] queue_time = 0.0 run_time = 0.0 try: pass #details = i.get_details() #state = details["state"] except: pass state = i.get_state() details=i.get_details() if details.has_key("start_time") and details.has_key("end_queue_time"): queue_time = float(details["end_queue_time"]) - float(details["start_time"]) if details.has_key("end_time") and details.has_key("end_queue_time"): run_time = float(details["end_time"]) - float(details["end_queue_time"]) print "%d\t%s\t\t%s\t%.1f\t%.1f"%(counter, short_url, state, queue_time, run_time) counter = counter + 1 print ""
def update_status_run_pilot(pilot_id): pilot = DareBigJobPilot.objects.get(id=pilot_id) pilot_url = pilot.pilot_url if len(pilot_url) > 0: pilot_compute = PilotCompute(pilot_url=str(pilot.pilot_url)) if pilot_compute.get_state() in [State.Done]: pilot.status = "Stopped" elif pilot_compute.get_state() in [State.New, State.Unknown]: pilot.status = "Submitted" elif pilot_compute.get_state() in [State.Running]: pilot.status = "Active" else: if not pilot.status == "Stopped": pilot.status = "New" pilot.save() print("Stopped Pilot: %s " % (pilot_url), pilot.id)
def list_pilots(self): print "\nPilot Compute\t\t\t\t\t\t\t\t\tState" print "-----------------------------------------------------------------------------------------------------" if len(self.pilots)==0: print "No pilot found" for i in self.pilots: pilot_compute = PilotCompute(pilot_url=i) print "%s\t%s"%(pilot_compute.get_url(), pilot_compute.get_state()) print ""
def update_status_run_pilot(pilot_id): pilot = DareBigJobPilot.objects.get(id=pilot_id) pilot_url = pilot.pilot_url if len(pilot_url) > 0: pilot_compute = PilotCompute(pilot_url=str(pilot.pilot_url)) if pilot_compute.get_state() in [State.Done]: pilot.status = "Stopped" elif pilot_compute.get_state() in [State.New, State.Unknown]: pilot.status = "Submitted" elif pilot_compute.get_state() in [State.Running]: pilot.status = "Active" else: if not pilot.status == "Stopped": pilot.status = "New" pilot.save() print(("Stopped Pilot: %s " % (pilot_url), pilot.id))