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 details)
File details
Details for the file ipc_mngr-1.0.1.tar.gz
.
File metadata
- Download URL: ipc_mngr-1.0.1.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d53b1dd0b9c01ff584c108c9e23a9783166fc5239273a99bdab5550064f0837c |
|
MD5 | 3f5b86c711d61680037e2a523c566f31 |
|
BLAKE2b-256 | 078269a85136820365158c4355eb8085b7923dec0ee60646cc657f8dc48929a8 |