Esempio n. 1
0
 def __init__(self, conn, worker):
     super(MonitorClient, self).__init__()
     
     # Gather information
     self.server = conn
     self.worker = worker
     
     # Generate UUID, one based on MAC address and one based on PID
     macs = ipinfo.getMACs()
     pid = os.getpid()
Esempio n. 2
0
    def onClose(self):
        """When Worker quits, tell the Monitor to signoff"""
        print "closing connection infomation to %s" % self.server["address"]
        self.stop_thread = True
        send_obj = {
            "monitor_instance_id" : self.monitor_state_id,
            "worker_mac" : ipinfo.getMACs()[0].str,
            "worker_pid" : os.getpid()
        }
        j = json.dumps(send_obj)
 
        self.send(j, "onClose")
Esempio n. 3
0
 def onDisconnection(self):
     """Call on disconnection"""
     send_obj = {
         "worker_mac" : ipinfo.getMACs()[0].str, 
         "worker_pid" : os.getpid(),
         "jobsprocessed" : self.worker.jobsprocessed,
         "monitor_instance_id" : self.monitor_state_id,
         "job_id" : self.current_job_id
     }
     j = json.dumps(send_obj)
     
     self.send(j, "endJob")
Esempio n. 4
0
 def onConnection(self):
     """On accepted connection with a Master, submit job information to GluinoMontor"""
     send_obj = {
         "monitor_instance_id" : self.monitor_state_id,
         "worker_mac" : ipinfo.getMACs()[0].str,
         "worker_pid" : os.getpid(),
         "jobfiles" : self.worker.jobs["input"],
         "userip" : self.worker.last_accepted[0]
         
     }
     j = json.dumps(send_obj)
     
     self.current_job_id =  self.send(j, "onJob")
Esempio n. 5
0
 def onStart(self):
     """Starting Worker"""
     print "Sending connection infomation to %s" % self.server["address"]
     send_obj = {
         "worker_mac" : ipinfo.getMACs()[0].str, 
         "worker_pid" : os.getpid(),
         "worker_port" : self.worker.port,
         "worker_maxcores" : self.worker.maxcores,
         "worker_ipaddress" : self.worker.ipaddress,
         "worker_name" : self.worker.hostname,
         "heartbeat" : datetime.datetime.utcnow().__str__()
     }
     j = json.dumps(send_obj)
     
     self.monitor_state_id = self.send(j, "onStart")
     print "Monitor reports the id=%d for this worker" % int(self.monitor_state_id)
     
     ## Start heartbeat
     self.stop_thread = False
     self.heartbeat_thread = threading.Thread(target=self.heartbeat)
     self.heartbeat_thread.start()