Skip to content

Commit

Permalink
Merge pull request #624 from cgalibern/fix-om-log-broken-pipe-error
Browse files Browse the repository at this point in the history
fix-om-log-broken-pipe-error
  • Loading branch information
cgalibern committed Jul 7, 2023
2 parents f1c3963 + af3f97b commit 11917cf
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 12 deletions.
28 changes: 20 additions & 8 deletions opensvc/core/node/node.py
Expand Up @@ -3476,8 +3476,11 @@ def _events(self, server=None):
server = Env.nodename
for msg in self.daemon_events(server):
if self.options.format == "json":
print(json.dumps(msg))
sys.stdout.flush()
try:
print(json.dumps(msg))
sys.stdout.flush()
except BrokenPipeError:
return
else:
kind = msg.get("kind")
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"), msg.get("nodename", ""), kind)
Expand All @@ -3488,8 +3491,11 @@ def _events(self, server=None):
line = " %s => %s" % (".".join([str(k) for k in key]), str(val))
except ValueError:
line = " %s deleted" % ".".join([str(k) for k in event[0]])
print(line)
sys.stdout.flush()
try:
print(line)
sys.stdout.flush()
except BrokenPipeError:
return
elif kind == "event":
for key, val in msg.get("data", {}).items():
print(" %s=%s" % (str(key).upper(), str(val)))
Expand Down Expand Up @@ -3524,16 +3530,22 @@ def _backlogs(self, server=None, node=None, backlog=None, debug=False, auto=None
for line in self.daemon_backlogs(server, node, backlog, debug):
line = colorize_log_line(line, auto=auto)
if line:
print(line)
sys.stdout.flush()
try:
print(line)
sys.stdout.flush()
except BrokenPipeError:
return

def _followlogs(self, server=None, node=None, debug=False, auto=None):
from utilities.render.color import colorize_log_line
for line in self.daemon_logs(server, node, debug):
line = colorize_log_line(line, auto=auto)
if line:
print(line)
sys.stdout.flush()
try:
print(line)
sys.stdout.flush()
except BrokenPipeError:
return

def print_devs(self):
if self.options.reverse:
Expand Down
14 changes: 10 additions & 4 deletions opensvc/core/objects/svc.py
Expand Up @@ -2256,17 +2256,23 @@ def _backlogs(self, server=None, node=None, backlog=None, debug=False, auto=None
except Exception as exc:
print(exc, file=sys.stderr)
if line:
print(line)
sys.stdout.flush()
try:
print(line)
sys.stdout.flush()
except BrokenPipeError:
return

def _followlogs(self, server=None, node=None, debug=False, auto=None):
from utilities.render.color import colorize_log_line
lines = []
for line in self.daemon_logs(server, node, debug):
line = colorize_log_line(line, auto=auto)
if line:
print(line)
sys.stdout.flush()
try:
print(line)
sys.stdout.flush()
except BrokenPipeError:
return

def support(self):
"""
Expand Down

0 comments on commit 11917cf

Please sign in to comment.