Example #1
0
 def run(self):
     while self.event_thread.isSet():
         try:
             datagram, sender = self.listen_socket.recvfrom(SIZE_BUFFER_HB)
             sender_formatted = sender[0]
             if sender[0] == "127.0.0.1":
                 sender_formatted = "localhost"
             if datagram.startswith(HB_DATAGRAM):
                 cust_logger.info("received Datagram from web service")
                 _, port_sender, port_monitor = datagram.split('#')
                 self.heartbeats[(sender_formatted, int(port_sender),
                                  int(port_monitor))] = time.time()
                 web_service = WebServiceMonitor.objects(
                     web_server_ip=sender_formatted,
                     web_server_port=int(port_sender)).first()
                 if not web_service:
                     web_service = WebServiceMonitor(
                         web_server_ip=sender_formatted,
                         web_server_port=int(port_sender),
                         monitor_port=int(port_monitor))
                 web_service.status_monitor = StatusWebService.STATUS_BEATING
                 web_service.save()
         except socket.timeout:
             pass