mirror of
				https://github.com/avatao-content/baseimage-tutorial-framework
				synced 2025-11-04 10:02:55 +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