0

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.

kozprog
  • 1
  • 1

0 Answers0