)]}'
{"swiftclient/multithreading.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"98fc1ef19ee720e964a14eba0de2be69e4e350ce","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                              incremented once for each exception in any"},{"line_number":117,"context_line":"                              thread.  This happens only when exiting the"},{"line_number":118,"context_line":"                              context."},{"line_number":119,"context_line":"        :param connection_maker: Optional callable.  If supplied, this callable"},{"line_number":120,"context_line":"                                 will be invoked once per created thread, and"},{"line_number":121,"context_line":"                                 the result will be passed into func after the"},{"line_number":122,"context_line":"                                 de-queued work item but before ``thread_args``"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAP3%2F%2FejI%3D","line":119,"updated":"2013-07-17 17:00:11.000000000","message":"I do not understand why func cannot do whatever connection_maker does first thing when it runs. They are always 1:1.","commit_id":"334aca233cab3c2ab75ba4b884a2e497bddf5ed1"},{"author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"change_message_id":"3f37333156054d1abb79bdceeb858baa7ec499da","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                              incremented once for each exception in any"},{"line_number":117,"context_line":"                              thread.  This happens only when exiting the"},{"line_number":118,"context_line":"                              context."},{"line_number":119,"context_line":"        :param connection_maker: Optional callable.  If supplied, this callable"},{"line_number":120,"context_line":"                                 will be invoked once per created thread, and"},{"line_number":121,"context_line":"                                 the result will be passed into func after the"},{"line_number":122,"context_line":"                                 de-queued work item but before ``thread_args``"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQX%2F%2F%2F%2F8%3D","line":119,"in_reply_to":"AAAAP3%2F%2FejI%3D","updated":"2013-07-17 18:04:23.000000000","message":"The connection_maker needs to run once per thread, with the result passed into func each time func is invoked within that thread.  In other words, you want a different connection for each thread, but you don\u0027t want each invocation of func to create a new connection.\n\nThis funny business is a direct result of separating the code managing the threads and the code running inside the threads.  It\u0027s a bit of complexity and special-case silliness, but IMO, it\u0027s worth this little wart to have thread management (almost entirely, with the exception of connection_maker) decoupled from the workers running within it.\n\nDoes that make sense?","commit_id":"334aca233cab3c2ab75ba4b884a2e497bddf5ed1"}]}
