"When skylog destination host goes down it doesn't create a new socket when ICMP error message is received." [Jira: DRB-1774]
# be compatible with both 2.6 and 2.7
socktype = socket.SOCK_DGRAM
+ _udp_reset = 0
+
def emit(self, record):
"""
Emit a record.
self._connect_unixsocket(self.address)
self.socket.send(msg)
elif self.socktype == socket.SOCK_DGRAM:
+ now = time.time()
+ if now - 1 > self._udp_reset:
+ self.socket.close()
+ self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+ self._udp_reset = now
self.socket.sendto(msg, self.address)
else:
self.socket.sendall(msg)