I can't change sync request timeout
in connection established using connect_multiprocess()
from RPyC module.
I have tried changing sync_request_timeout
to a different value like this
self._conn = connect_multiprocess()
self._conn._config['sync_request_timeout'] = 120
or
rpyc.core.protocol.DEFAULT_CONFIG['sync_request_timeout'] = 120
self._conn = connect_multiprocess()
or
self._conn = connect_multiprocess({'sync_request_timeout': 120})
Those changes are visible in self._conn._config
(shows {'sync_request_timeout': 120}
), but the base value for timeout actually stays the same (30, as defined in rpyc.core.protocol.DEFAULT_CONFIG
). I have checked that by adding print lines to Timeout
class in rpyc.lib.__init__.py
.
timeout=<rpyc.lib.Timeout object at 0x0000015DD0B50DF0> timeout.finite=True timeout_t=29.99899983406067
timeout=<rpyc.lib.Timeout object at 0x0000015DD0B863B0> timeout.finite=True timeout_t=29.99899959564209
timeout=<rpyc.lib.Timeout object at 0x0000015DD0B85FC0> timeout.finite=True timeout_t=29.997999906539917
...
timeout=<rpyc.lib.Timeout object at 0x0000015DD005C100> timeout.finite=True timeout_t=28.496060132980347
timeout=<rpyc.lib.Timeout object at 0x0000015DD0B51450> timeout.finite=True timeout_t=28.47374176979065
timeout=<rpyc.lib.Timeout object at 0x0000015DD005C100> timeout.finite=True timeout_t=28.47374176979065
The only way I could find to change the timeout time is by doing it manually in RPyC's sources, rpyc.core.protocol.DEFAULT_CONFIG
dictionary, but I need better solution than this.
I'm running Python 3.10.5 and RPyC 5.3.1.