You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.3 KiB
Python

#coding: utf-8
from main_process import data_load
from analysis_data.config_load import get_configs
from multiprocessing import Pool
from loguru import logger
import os
import time
# 日志配置
log_path = os.path.join(__file__, "../logs/xbank.log")
logger.add(
log_path, rotation="60 MB", enqueue=True, backtrace=True, diagnose=True, retention=30
)
logger.info("*************************** xbank start ***************************")
def get_args_list(args_data):
args_list = []
for args in args_data:
args_det = args_data[args]
det_config = args_det['model']
det_source = args_det['source']
det_list = [det_source, det_config]
args_list.append(det_list)
return args_list
def start_worker(args_list):
while True:
try:
logger.info(f" process {args_list} crashed. Starting...")
data_load(args_list)
except Exception as e:
logger.info(f" process {args_list} crashed. Restarting...")
logger.debug(e)
def main():
# 加载配置文件
args = '../config_det.yaml'
args_data = get_configs(ymal_files=args)
args_list = get_args_list(args_data)
process_num = len(args_list)
with Pool(process_num) as pool:
pool.map(start_worker, args_list)
if __name__ == "__main__":
main()