def start_actions(self): core_logger.info(f"convert信息写入数据库! | {CONVERT_CLASSES[self.convert_type]}" f" |{self.ori_file} | {self.des_file} | {self.vf_file }") convert_id = DB.write_convert(self.ori_file, self.des_file, self.vf_file, self.convert_type, thumb_nail=self.thumb_path) if convert_id == -1: return -1, "数据库写入失败" core_logger.info(f"创建进程进行转换 | convert_id: {convert_id}") try: convert_pro = Process(target=self._asyc_convert, args=(convert_id,)) convert_pro.start() core_logger.info(f"异步转换进程开始 | pid: {convert_pro.pid} | convert_id: {convert_id}") return convert_id, "success!" except ProcessError: DB.update_convert(convert_id, 1, {}) core_logger.exception("开启转换进程失败") return 1, "开启转换进程失败"
def _asyc_convert(self, convert_id): core_logger.info(f"异步进行转换 | {convert_id}") try: status, conver_info, msg = self.converter.start() except TypeError: DB.update_convert(convert_id, 2, {}) core_logger.exception(f"转换失败 | {convert_id}") return except ValueError: DB.update_convert(convert_id, 2, {}) core_logger.exception(f"转换失败 | {convert_id}") return DB.update_convert(convert_id, status, conver_info) core_logger.info(f"异步转换结束 | {convert_id} | {msg}") if self.thumb_path is not None: if Path(self.vf_file).exists(): res = SnipThumb(vf_file=self.vf_file, img_file=self.thumb_path).start() if res == 1: core_logger.info(f"图片转换失败 | 图片转换脚本出错") core_logger.info(f"转换图片失败 | 没有对应的vtm文件 | {self.vf_file}") return