def get_logs_output(self, job_id, read_size):
        logger.info("Enter")
        logger.info("log output file's read size is: %u" % read_size)

        log_output_file_realpath = _create_log_output_file_path(job_id)
        log_output_dict = {}
        if os.path.exists(log_output_file_realpath):
            output_file_object = open(log_output_file_realpath, 'r')
            job_doc = job_DAO.get_job_details(job_id, {
                "_id": False,
                "status": True
            })
            job_status = job_doc["status"]
            logger.info("Current job status is:%s" % job_status)
            current_file_size = os.path.getsize(log_output_file_realpath)
            logger.info("Current log output file's size snapshot is:%u" %
                        current_file_size)
            unread_size = current_file_size - read_size
            logger.info("Current log output file's unread size is:%u" %
                        unread_size)
            output_file_object.seek(read_size)
            log_content = output_file_object.read(unread_size)
            logger.info("Current log output file's content is:%s" %
                        log_content)
            log_output_dict["read_size"] = current_file_size
            log_output_dict["job_status"] = job_status
            log_output_dict["current_log_content"] = log_content

        logger.info("Exit")
        return log_output_dict
    def get_job_details(self, job_id, projection_dict=None):
        job_doc = None
        try:
            job_doc = job_DAO.get_job_details(job_id, projection_dict)
        except RecordNotFoundException:
            raise

        return job_doc
    def get_job_details(self, job_id, projection_dict=None):
        job_doc = None
        try:
            job_doc = job_DAO.get_job_details(job_id, projection_dict)
        except RecordNotFoundException:
            raise

        return job_doc
    def get_logs_output(self, job_id, read_size):
        logger.info("Enter")
        logger.info("log output file's read size is: %u" % read_size)

        log_output_file_realpath = _create_log_output_file_path(job_id)
        log_output_dict = {}
        if os.path.exists(log_output_file_realpath):
            output_file_object = open(log_output_file_realpath, 'r')
            job_doc = job_DAO.get_job_details(job_id, {"_id": False, "status": True})
            job_status = job_doc["status"]
            logger.info("Current job status is:%s" % job_status)
            current_file_size = os.path.getsize(log_output_file_realpath)
            logger.info("Current log output file's size snapshot is:%u" % current_file_size)
            unread_size = current_file_size - read_size
            logger.info("Current log output file's unread size is:%u" % unread_size)
            output_file_object.seek(read_size)
            log_content = output_file_object.read(unread_size)
            logger.info("Current log output file's content is:%s" % log_content)
            log_output_dict["read_size"] = current_file_size
            log_output_dict["job_status"] = job_status
            log_output_dict["current_log_content"] = log_content

        logger.info("Exit")
        return log_output_dict