A python library to simplify the use of multiprocessing.managers.SyncManager() for remote and local use.
When trying to use the multiprocessing python (3.6) module, I became
frustrated very quickly because the documentation, although extensive and
detailed, is not very clear on intent, possible use cases or relevant working
examples comprehensive enough to be any use to help understanding for someone
who is learning to use this tool and not yet an expert.
Many websites, including stackoverflow, offered solutions that were either not
relevant or that I could not understand. Little by little, by cross reading many
sources, including the code of the multiprocessing module itself, things
became clearer.
Of this search emerged a library that, in my mind, greatly simplifies the use of
the SyncManager for data sharing between local and remote processes.
Browse over to the code directory where you will find the remotesyncmanager
module.
It is work in progress, but essentially self-documented.
To fully understand how it works, I suggest reading the example application.
In the example folder, you will find a single python file that can be run with
python3 remotesyncmanager-example-application.py server to start the server
portion in a terminal window, and python3 remotesyncmanager-example-application.py client to start the client version,
either in a different terminal window on the same computer, or even on a
different computer after having copied the mpSERVERDATA.pkl file from server
to the client computer (this file must be copied after the server has started).
Note that this will only work in the same LAN. The library would require changes
for it to work beyond a LAN.