Interprocess Communication (IPC) Manager to help create a Command structure for sending and receiving messages between processes.
Project description
Interprocess Communication (IPC) Manager to help create a Command structure for sending and receiving messages between processes.
Simple Listener/Client
# main.py
import ipc_mngr
def msg_handler(sock, cmd):
"""Handle received commands.
Args:
sock (multiprocessing.connection.Client): Client socket that received the command.
cmd (object): Command object that was received.
"""
print('Received Command:', cmd)
listener = ipc_mngr.Listener(('127.0.0.1', 8111), authkey='12345')
listener.msg_handler = msg_handler
print("listening ...")
listener.listen() # Listen forever
# send_cmd.py
import ipc_mngr
with ipc_mngr.Client(('127.0.0.1', 8111), authkey='12345') as client:
# Send the command
client.send("Hello World!")
Schedule Example
See tests/schedule_run directory for how to use this as a permanent job scheduler.
Stream Audio Example
See tests/stream_audio directory for how to use the Streamer and StreamClient class.
import ipc_mngr
with ipc_mngr.Streamer(('127.0.0.1', 8222), authkey='12345') as streamer:
while True:
streamer.broadcast(1) # streamer.stream(1)
import ipc_mngr
import time
SECONDS = 5
data = []
def save_data(client, value):
data.append(value)
with ipc_mngr.StreamClient(('127.0.0.1', 8222), authkey='12345') as client:
start = time.time()
client.stream_handler = save_data
# Save data for 5 seconds
while time.time() - start < SECONDS:
time.sleep(1)
print('Collected {} samples'.format(len(data)))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ipc_mngr-1.0.1.tar.gz
(10.3 kB
view hashes)