rpyc_mem.session package
Submodules
rpyc_mem.session.rpyc_mem_session module
RPyC Memory Session
- class rpyc_mem.session.rpyc_mem_session.RpycMemSession(hostname, port, max_retry=4, retry_delay=3, ignore_version=False, process_safe=True)
Bases:
objectRpycMemSessionbringsRpycMemConnect,RemoteModuleandRpycMemunder one hood while enabling to create/manage remote objects efficiently.RpycMemSessionwill repurpose the connection object for different operations. A similar raw RPyC connection (underlying socket object is similar) when used in different processes may result in race conditions (Refer https://github.com/tomerfiliba-org/rpyc/issues/482).RpycMemSessioncan deal with it by keeping track of processes.RpycMemSessionhas functionality for creatingRemoteModuleobject (singleton, accessible viarmod) andRpycMemobjects. The underlying Rpyc Mem connection can be retrieved throughrmem_connproperty.- Parameters
hostname (str) – RPyC memory service hostname
port (int) – RPyC memory service port
max_retry (int) – Number of times to retry upon connection failure (at session level).
retry_delay (int) – Retry delay in seconds between each re-connect attempt
ignore_version (bool) – Do not validate the server RPyC version with the client
process_safe (bool) – Create a new Rpyc Mem connection when the objects created by the session are accessed by the process who is not the actual creator of the session.
- property rmem_conn
Return RpycMemConnection in a process-safe way (if set to True)
- Return rpyc_mem.connect.RpycMemConnect
- rmem(unique_key, robj=<object object>, robj_gen=<object object>)
Create RpycMem object against the unique_key while using robj, robj_gen through session’s Rpyc memory connection
- Parameters
unique_key (Hashable) – The unique-key for syncing the remote object with Rpyc memory service.
robj (Any) – The remote object to use for memoization (One among robj, robj_gen should be passed).
robj_gen (Callable) – The remote object generator to use for memoization (One among robj, robj_gen should be passed).
- Returns