I have a number of scripts written in Python 2.6 that can be run arbitrarily. I would like to have a single central script that collects the output and displays it in a single log.
Ideally it would satisfy these requirements:
- Every script sends its messages to the same "receiver" for display.
- If the receiver is not running when the first script tries to send a message, it is started.
- The receiver can also be launched and ended manually. (Though if ended, it will restart if another script tries to send a message.)
- The scripts can be run in any order, even simultaneously.
- Runs on Windows. Multiplatform is better, but at least it needs to work on Windows.
I've come across some hints:
os.pipe()
multiprocess
- Occupying a port
mutex
logging.handlers.SocketHandler
(thanks @Dan Head)
From those pieces, I think I could cobble something together. Just wondering if there is an obviously 'right' way of doing this, or if I could learn from anyone's mistakes.