)]}'
{"mistral/config.py":[{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"f936644950ae9cc8208feb0ea0ddf18be7266ad9","unresolved":false,"context_lines":[{"line_number":278,"context_line":"             \u0027scheduler instances.\u0027"},{"line_number":279,"context_line":"             \u0027For example, a job needs to run at 12:00:00. When a scheduler \u0027"},{"line_number":280,"context_line":"             \u0027starts processing it it has 60 seconds (or other configured \u0027"},{"line_number":281,"context_line":"             \u0027value) to complete the job. If the scheduler did not complete \u0027"},{"line_number":282,"context_line":"             \u0027the job within this period it most likely means that the \u0027"},{"line_number":283,"context_line":"             \u0027scheduler process crashed. In this case another scheduler \u0027"},{"line_number":284,"context_line":"             \u0027instance will pick it up from the Job Store, but not earlier \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_40374600","line":281,"range":{"start_line":281,"start_character":24,"end_line":281,"end_character":32},"updated":"2018-08-14 11:58:51.000000000","message":"In this context, what does it mean for a job to be \"completed\"?","commit_id":"7b71f096b9be21a7260d573e7382725855fb94cb"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"0093a2cda20441b539c354613ae54b5a57b1bfe0","unresolved":false,"context_lines":[{"line_number":278,"context_line":"             \u0027scheduler instances.\u0027"},{"line_number":279,"context_line":"             \u0027For example, a job needs to run at 12:00:00. When a scheduler \u0027"},{"line_number":280,"context_line":"             \u0027starts processing it it has 60 seconds (or other configured \u0027"},{"line_number":281,"context_line":"             \u0027value) to complete the job. If the scheduler did not complete \u0027"},{"line_number":282,"context_line":"             \u0027the job within this period it most likely means that the \u0027"},{"line_number":283,"context_line":"             \u0027scheduler process crashed. In this case another scheduler \u0027"},{"line_number":284,"context_line":"             \u0027instance will pick it up from the Job Store, but not earlier \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_4c90954f","line":281,"range":{"start_line":281,"start_character":24,"end_line":281,"end_character":32},"in_reply_to":"3f79a3b5_40374600","updated":"2018-08-17 05:20:55.000000000","message":"Here it means to run the target Python method/function and get a return value out of it. To make the actual call.","commit_id":"7b71f096b9be21a7260d573e7382725855fb94cb"}],"mistral/db/v2/sqlalchemy/api.py":[{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"f936644950ae9cc8208feb0ea0ddf18be7266ad9","unresolved":false,"context_lines":[{"line_number":1165,"context_line":""},{"line_number":1166,"context_line":"    # Filter by captured time accounting for a configured captured job timeout."},{"line_number":1167,"context_line":"    min_captured_at \u003d ("},{"line_number":1168,"context_line":"        datetime.datetime.now() -"},{"line_number":1169,"context_line":"        datetime.timedelta(seconds\u003dCONF.scheduler.captured_job_timeout)"},{"line_number":1170,"context_line":"    )"},{"line_number":1171,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_86449648","line":1168,"range":{"start_line":1168,"start_character":26,"end_line":1168,"end_character":29},"updated":"2018-08-14 11:58:51.000000000","message":"utcnow?","commit_id":"7b71f096b9be21a7260d573e7382725855fb94cb"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"0093a2cda20441b539c354613ae54b5a57b1bfe0","unresolved":false,"context_lines":[{"line_number":1165,"context_line":""},{"line_number":1166,"context_line":"    # Filter by captured time accounting for a configured captured job timeout."},{"line_number":1167,"context_line":"    min_captured_at \u003d ("},{"line_number":1168,"context_line":"        datetime.datetime.now() -"},{"line_number":1169,"context_line":"        datetime.timedelta(seconds\u003dCONF.scheduler.captured_job_timeout)"},{"line_number":1170,"context_line":"    )"},{"line_number":1171,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_4f0e4733","line":1168,"range":{"start_line":1168,"start_character":26,"end_line":1168,"end_character":29},"in_reply_to":"3f79a3b5_86449648","updated":"2018-08-17 05:20:55.000000000","message":"Well, it doesn\u0027t seem to matter because in this functionality we always use this method and it\u0027s an internal server time. Scheduler functionality is not exposed to the user and we don\u0027t need to align user and server time.","commit_id":"7b71f096b9be21a7260d573e7382725855fb94cb"}]}
