示例#1
0
 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 ""
示例#2
0
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)
示例#3
0
 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 ""
示例#4
0
文件: tasks.py 项目: Python3pkg/DARE
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))