import logging.config import os import traceback import paddle from auto_email.error_email import send_an_error_email from config.log import LOGGING_CONFIG from config.photo_review import RETRY_TIME, SEND_ERROR_EMAIL, CUDA_VISIBLE_DEVICES from photo_review.photo_review import main os.environ["CUDA_VISIBLE_DEVICES"] = CUDA_VISIBLE_DEVICES # 项目必须从此处启动,否则代码中的相对路径可能导致错误的发生 if __name__ == '__main__': logging.config.dictConfig(LOGGING_CONFIG) log = logging.getLogger() # 崩溃后的重试次数 retry_time = RETRY_TIME + 1 for _ in range(retry_time): try: log.info("照片审核开始") main() except Exception as e: log.error(traceback.format_exc()) if SEND_ERROR_EMAIL: send_an_error_email(program_name='照片审核关键信息抽取脚本', error_name=repr(e), error_detail=traceback.format_exc()) # 释放显存 paddle.device.cuda.empty_cache() continue