)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"31f7b49fcb63ba087bdfc22d27b25556ab17c94c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Simultaneous Runner for orchestrating processes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"While benchmarking methods that run after time consuming processes, one"},{"line_number":10,"context_line":"could make sure parallel processes are in the same moment in code before"},{"line_number":11,"context_line":"going forward. New runner gives posibility to wait for task finalizing"},{"line_number":12,"context_line":"and synchronization between processes."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"E.g. during live migration benchmarking of multiple VM instances we want"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a016987_e0493032","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":14},"updated":"2015-05-22 09:52:21.000000000","message":"This sentence is tooo loooong and complicated. Please split it.","commit_id":"abcc8a5423cf877ce39c4975230d2564b27048b8"}],"rally/plugins/common/runners/simultaneous.py":[{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"31f7b49fcb63ba087bdfc22d27b25556ab17c94c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def to_orchestrate(orchestrator):"},{"line_number":29,"context_line":"    \"\"\"Decorator for function that needs to be orchestrated"},{"line_number":30,"context_line":"    \"\"\""},{"line_number":31,"context_line":"    def decorator(f, wait\u003d0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_20ad089b","line":28,"range":{"start_line":28,"start_character":4,"end_line":28,"end_character":18},"updated":"2015-05-22 09:52:21.000000000","message":"s/to_orchestrate/orchestrate | orchestrated/ please","commit_id":"abcc8a5423cf877ce39c4975230d2564b27048b8"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"31f7b49fcb63ba087bdfc22d27b25556ab17c94c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    def orchestrate(self):"},{"line_number":65,"context_line":"        \"\"\"Orchestrates method in processes"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        while True:"},{"line_number":68,"context_line":"            time.sleep(0.01)"},{"line_number":69,"context_line":"            if self.ready.value \u003e\u003d self.num:"},{"line_number":70,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c0f074cb","line":67,"range":{"start_line":67,"start_character":14,"end_line":67,"end_character":18},"updated":"2015-05-22 09:52:21.000000000","message":"Think, it\u0027better to use condition self.ready.value \u003e\u003d self.num  enstead of \u0027True\u0027\n\n\u003e\u003e\u003e\nwhile self.ready.value \u003c self.num:\n    time.sleep(0.01)\nself.event.set()","commit_id":"abcc8a5423cf877ce39c4975230d2564b27048b8"},{"author":{"_account_id":9601,"name":"Oleh Anufriiev","email":"oanufriev@mirantis.com","username":"oanufriev"},"change_message_id":"31f7b49fcb63ba087bdfc22d27b25556ab17c94c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        result_queue \u003d multiprocessing.Queue()"},{"line_number":146,"context_line":"        iteration_gen \u003d utils.RAMInt()"},{"line_number":147,"context_line":"        orchestrator \u003d orchestrated_method and \\"},{"line_number":148,"context_line":"            Orchestrator(orchestrated_method, concurrency, wait) or \\"},{"line_number":149,"context_line":"            DummyOrchestrator()"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        def worker_args_gen():"},{"line_number":152,"context_line":"            while True:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_80a4bcb9","line":149,"range":{"start_line":148,"start_character":12,"end_line":149,"end_character":31},"updated":"2015-05-22 09:52:21.000000000","message":"some_var \u003d Orchestrator(orchestrated_method, concurrency, wait) or DummyOrchestrator()\n\norchestrator \u003d orchestrated_method and some_var","commit_id":"abcc8a5423cf877ce39c4975230d2564b27048b8"}]}
