This is a multiprocessing data structure that coordinates a set of child processes in two senses.
- Data - Any connected process can add data to the queue
for all others to read. - Time - Processes can wait on the queue for new data to
be added by any other.
Every process that connects to the same queue is both a reader and writer i.e. it is both a producer and a consumer. But a piece of data is not removed from the queue until every connected process has had a chance to read it. Hence, one process can signal all of the others to respond to the same information.
PyPI package at pypi.org/project/pysyncq
Online documentation at pysyncq.readthedocs.io
GitHub project at github.com/jsdpag/pysyncq
- See docs/_build/html/index.html for basic API documentation.
- See pysyncq/tests/demo.py for a simple demonstration of
basic timing signals and message passing between processes. - See pysyncq/tests/benchmark.py for a simple benchmarking of the message transfer time from a sender to a reader.
Developed by:
0.0.1 - Support for spawn as well as fork child process starting methods. 0.0.0 - Initial release. Functional on Linux.