diff options
Diffstat (limited to 'python/onfailure.py')
| -rw-r--r-- | python/onfailure.py | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/python/onfailure.py b/python/onfailure.py index 651892f5..17bb867b 100644 --- a/python/onfailure.py +++ b/python/onfailure.py @@ -1,17 +1,20 @@ -from serenitas.utils.exchange import ExchangeMessage +from systemd import journal +import os import argparse +import sys -parser = argparse.ArgumentParser(description="Generate quantifi product files") -parser.add_argument( - "service", - help="name of failed service", - ) -args = parser.parse_args() - -em = ExchangeMessage() +if os.environ["EXIT_STATUS"] != "0": + from serenitas.utils.exchange import ExchangeMessage -em.send_email( - 'Failed Service', - f'This service failed: {args.service}', - ('fyu@lmcg.com',) -)
\ No newline at end of file + service = sys.argv[1] + em = ExchangeMessage() + content = [] + j = journal.Reader() + j.add_match(_SYSTEMD_INVOCATION_ID=os.environ["INVOCATION_ID"]) + for entry in j: + content.append(entry["MESSAGE"]) + em.send_email( + f"{service} failed", + "\n".join(content), + ("fyu@lmcg.com", "ghorel@lmcg.com"), + ) |
