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
The base Enumpath module sets up a number of module level variables (@verbose, @logger, and @path_cache) that make this library not threadsafe. This was initially done to avoid needing to instantiate an object, i.e. Enumpath.apply('food.0', party), and so that state didn't need to be passed around to all of the operators and processors. Our approach to this should be considered alongside Investigate re-implementing a version that caches segment types #3.
For things that may be shared across threads, like the logger or path cache, ensure no instance variables are used
MiniCache is not threadsafe :( Maybe we need to expose a way to BYO cache store? (This is on my future feature list anyway) Or roll something similar with concurrent-ruby, et al?)
to_regexp appears to be threadsafe, but we should verify
The text was updated successfully, but these errors were encountered:
@verbose
,@logger
, and@path_cache
) that make this library not threadsafe. This was initially done to avoid needing to instantiate an object, i.e.Enumpath.apply('food.0', party)
, and so that state didn't need to be passed around to all of the operators and processors. Our approach to this should be considered alongside Investigate re-implementing a version that caches segment types #3.||=
(which may not be threadsafe) in Enumpath::Path#cacheThe text was updated successfully, but these errors were encountered: