1
0
mirror of https://github.com/avatao-content/test-tutorial-framework synced 2024-12-05 02:31:33 +00:00

Merge branch 'pipeio'

This commit is contained in:
Kristóf Tóth 2019-05-15 14:30:15 +02:00
commit 5a8edb7b8a
3 changed files with 38 additions and 6 deletions

View File

@ -1,9 +1,10 @@
from ast import literal_eval
from functools import partial
from signal import signal, SIGTERM, SIGINT
from tornado.ioloop import IOLoop
from tfw import YamlFSM, FSMAwareEventHandler
from tfw import YamlFSM, FSMAwareEventHandler, EventHandlerBase
from tfw.components import IdeEventHandler, TerminalEventHandler
from tfw.components import ProcessManagingEventHandler, BashMonitor
from tfw.components import TerminalCommands, LogMonitoringEventHandler
@ -136,9 +137,12 @@ if __name__ == '__main__':
# Example terminal command callback
terminal.historymonitor.subscribe_callback(cenator)
try:
IOLoop.instance().start()
finally:
eventhandlers = {fsm, ide, terminal, processmanager, logmonitor, message_fsm_steps}
for eh in eventhandlers:
event_handlers = EventHandlerBase.get_local_instances()
def cleanup(sig, frame):
for eh in event_handlers:
eh.cleanup()
exit(0)
signal(SIGTERM, cleanup)
signal(SIGINT, cleanup)
IOLoop.instance().start()

View File

@ -0,0 +1,24 @@
from signal import signal, SIGTERM, SIGINT
from tornado.ioloop import IOLoop
from tfw import EventHandlerBase
from tfw.components import PipeIOEventHandler
if __name__ == '__main__':
pipe_io = PipeIOEventHandler(
'',
'/tmp/tfw_send',
'/tmp/tfw_recv'
)
event_handlers = EventHandlerBase.get_local_instances()
def cleanup(sig, frame):
for eh in event_handlers:
eh.cleanup()
exit(0)
signal(SIGTERM, cleanup)
signal(SIGINT, cleanup)
IOLoop.instance().start()

View File

@ -0,0 +1,4 @@
[program:pipe_io_main]
user=root
directory=%(ENV_TFW_EHMAIN_DIR)s
command=python3 pipe_io_main.py