outposts: implement .run_wuth_logs() which returns logs, add task monitoring

This commit is contained in:
Jens Langhammer
2020-10-16 11:38:49 +02:00
parent f6b8171624
commit 86cfb10b9b
3 changed files with 28 additions and 13 deletions

View File

@ -1,7 +1,8 @@
"""Base Controller"""
from typing import Dict
from typing import Dict, List
from structlog import get_logger
from structlog.testing import capture_logs
from passbook.lib.sentry import SentryIgnoredException
from passbook.outposts.models import Outpost
@ -29,6 +30,12 @@ class BaseController:
"""Called by scheduled task to reconcile deployment/service/etc"""
raise NotImplementedError
def run_with_logs(self) -> List[str]:
"""Call .run() but capture all log output and return it."""
with capture_logs() as logs:
self.run()
return logs
def get_static_deployment(self) -> str:
"""Return a static deployment configuration"""
raise NotImplementedError