You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, each Selector process has their own self._trigger_cache due to the introduction of gRPC using multiprocessing.Processes for true parallelism in #301.
The problem is that we cannot easily use a manager.Dict() here to share a dictionary across processes (leaving performance implications out for now). The problem is that new Selector instances get allocated at runtime, and any Selector instance would need to instantiate a new manager.Dict(). This is not possible as a manager cannot be shared with child classes.
We need to re-think how we do multiprocessing in the Selector for this, probably..
Currently, each Selector process has their own
self._trigger_cache
due to the introduction of gRPC using multiprocessing.Processes for true parallelism in #301.The problem is that we cannot easily use a manager.Dict() here to share a dictionary across processes (leaving performance implications out for now). The problem is that new
Selector
instances get allocated at runtime, and any Selector instance would need to instantiate a new manager.Dict(). This is not possible as a manager cannot be shared with child classes.We need to re-think how we do multiprocessing in the Selector for this, probably..
Should be addressed with #178.
#309 has the same root cause, which is requiring access to a parent manager in subclasses.
The text was updated successfully, but these errors were encountered: