Files
fcb_photo_review/photo_review.py

42 lines
1.5 KiB
Python

import argparse
import logging.config
import traceback
from time import sleep
from sqlalchemy import update
from auto_email.error_email import send_error_email
from db import MysqlSession
from db.mysql import ZxPhhd
from log import LOGGING_CONFIG
from photo_review import photo_review, SEND_ERROR_EMAIL, RETRY_TIME
# 项目必须从此处启动,否则代码中的相对路径可能导致错误的发生
if __name__ == '__main__':
program_name = '照片审核自动识别脚本'
logging.config.dictConfig(LOGGING_CONFIG)
for i in range(RETRY_TIME + 1):
parser = argparse.ArgumentParser()
parser.add_argument("--clean", default=False, type=bool, help="是否将识别中的案子改为待识别状态")
args = parser.parse_args()
if args.clean or i > 0:
# 主要用于启动时,清除仍在涂抹中的案子
session = MysqlSession()
update_flag = (update(ZxPhhd).where(ZxPhhd.exsuccess_flag == "2").values(exsuccess_flag="1"))
session.execute(update_flag)
session.commit()
session.close()
logging.info("已释放残余的识别案子!")
else:
sleep(5)
try:
logging.info(f"{program_name}】开始运行")
photo_review.main()
except Exception as e:
error_logger = logging.getLogger('error')
error_logger.error(traceback.format_exc())
if SEND_ERROR_EMAIL:
send_error_email(program_name, repr(e), traceback.format_exc())