Commit Graph

6 Commits

Author SHA1 Message Date
Thomas Jackson
ff1ac70cd5 Python3 compat for context_test 2015-10-23 11:30:21 -07:00
Thomas Jackson
718cf64817 Pylint cleanup 2015-10-23 08:53:44 -07:00
Thomas Jackson
256a0e2af8 Rename and consolidate NUM_JOBs into a single class-wide variable 2015-10-23 08:43:46 -07:00
Thomas Jackson
3662465471 pylint cleanup 2015-10-23 08:40:56 -07:00
Thomas Jackson
408af9d419 Add Coroutine tests for the ContextDict 2015-10-23 08:31:37 -07:00
Thomas Jackson
6838a9534f Initial addition of ContextDict
Inspired by #23373

The basic issue we ran into is that the loader is injecting globals directly into the global namespace. This means that these injected values are not thread or coroutine safe-- meaning we can never do more than one thing at a time. Instead of multiprocessing everything to death-- we can simply use a stack_context to nicely handle this down in the core. As far as the module authors/users are concerned nothing has changed-- but the storage behind the scenes is now per-JID. This same set of classes can easily be used to store additional data (next candidates are reactors, master MWorker tasks, etc.).
2015-10-22 18:41:27 -07:00