mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2025-06-28 10:55:12 +00:00
Write process logs to console with a separate handler
This commit is contained in:
@ -3,18 +3,16 @@ from xmlrpc.client import Fault as SupervisorFault
|
||||
|
||||
from tfw.internals.networking import Scope
|
||||
|
||||
from .supervisor import ProcessManager, ProcessLogManager
|
||||
from .supervisor import ProcessManager
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ProcessHandler(ProcessManager, ProcessLogManager):
|
||||
class ProcessHandler(ProcessManager):
|
||||
keys = ['process']
|
||||
|
||||
def __init__(self, *, supervisor_uri, log_tail=0):
|
||||
def __init__(self, *, supervisor_uri):
|
||||
ProcessManager.__init__(self, supervisor_uri)
|
||||
ProcessLogManager.__init__(self, supervisor_uri)
|
||||
self.log_tail = log_tail
|
||||
|
||||
self.commands = {
|
||||
'process.start': self.start_process,
|
||||
@ -28,15 +26,6 @@ class ProcessHandler(ProcessManager, ProcessLogManager):
|
||||
self.commands[message['key']](message['name'])
|
||||
except SupervisorFault as fault:
|
||||
message['error'] = fault.faultString
|
||||
finally:
|
||||
message['stdout'] = self.read_stdout(
|
||||
message['name'],
|
||||
self.log_tail
|
||||
)
|
||||
message['stderr'] = self.read_stderr(
|
||||
message['name'],
|
||||
self.log_tail
|
||||
)
|
||||
connector.send_message(message, scope=Scope.WEBSOCKET)
|
||||
except KeyError:
|
||||
if not message['key'].startswith('process.log'):
|
||||
|
Reference in New Issue
Block a user