Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I recently had a problem with pickling and unpickling UltraDict instances with recurse=True.
After some wild bug hunting I realized that accessing UltraDict's data attribute/property didn't convert nested UltraDict items also to basic dictionaries, thus breaking pickling and unpickling actions, other than stopping following updates from syncing.
I added the method
as_pure_dictionary
, with proper unit tests, and tested them in production with one single shared memory between 6 high frequency realtime processes both using reads and writes in different parts of the same UltraDict with recurse=True enabled, with success!Basic usage for me in that project was something like this pseudocode:
Hope it sounds good for you, and hope it helps somebody as well as it helped me!
If you have questions let me know, I'm happy to fix things if they aren't properly good enough :)