)]}'
{"watcher/decision_engine/audit/continuous.py":[{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"d1ce6bbad4d9c4fcada68ef2e00b5822b14cf9ed","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            return croniter(audit.interval, datetime.datetime.utcnow()"},{"line_number":87,"context_line":"                            ).get_next(datetime.datetime)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def execute_audit(self, audit, request_context):"},{"line_number":90,"context_line":"        if not self._is_audit_inactive(audit):"},{"line_number":91,"context_line":"            try:"},{"line_number":92,"context_line":"                self.execute(audit, request_context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_f73486fd","line":89,"range":{"start_line":89,"start_character":4,"end_line":89,"end_character":52},"updated":"2017-10-30 11:41:08.000000000","message":"apscheduler allows to call either class methods (our case) or existing instances of class (which will be missed if watcher is rebooted). take a look at get_state and set_state methods: https://github.com/agronholm/apscheduler/blob/master/apscheduler/job.py#L230","commit_id":"e12a595d643c8b99747b6aaeade099f10f37f9ef"}]}
