Browse Source

上传

tags/V2.8.3^2^2
chenyukun 1 year ago
parent
commit
eb8b531577
4 changed files with 13 additions and 22 deletions
  1. +5
    -10
      concurrency/FileUploadThread.py
  2. +1
    -2
      concurrency/IntelligentRecognitionProcess.py
  3. +7
    -9
      concurrency/IntelligentRecognitionProcess2.py
  4. +0
    -1
      dsp_master.py

+ 5
- 10
concurrency/FileUploadThread.py View File





class ImageTypeImageFileUpload(Thread): class ImageTypeImageFileUpload(Thread):
__slots__ = ('_fb_queue', '_context', '_image_queue', '_analyse_type', '_msg', 'ex')
__slots__ = ('_fb_queue', '_context', '_image_queue', '_analyse_type', '_msg')


def __init__(self, *args): def __init__(self, *args):
super().__init__() super().__init__()
self._fb_queue, self._context, self._msg, self._image_queue, self._analyse_type = args self._fb_queue, self._context, self._msg, self._image_queue, self._analyse_type = args
self.ex = None


@staticmethod @staticmethod
def handle_image(det_xywh, copy_frame, font_config): def handle_image(det_xywh, copy_frame, font_config):
""" """
model_info = [] model_info = []
# 更加模型编码解析数据 # 更加模型编码解析数据
for code in list(det_xywh.keys()):
# 模型编号下面的检测目标对象
det_info = det_xywh[code]
if len(det_info) > 0:
for cls in list(det_info.keys()):
target_list = det_info.get(cls)
if len(target_list) > 0:
for code, det_info in det_xywh.items():
if det_info is not None and len(det_info) > 0:
for cls, target_list in det_info.items():
if target_list is not None and len(target_list) > 0:
aiFrame = copy_frame.copy() aiFrame = copy_frame.copy()
for target in target_list: for target in target_list:
draw_painting_joint(target[1], aiFrame, target[3], target[2], target[4], font_config) draw_painting_joint(target[1], aiFrame, target[3], target[2], target[4], font_config)
sleep(1) sleep(1)
except Exception as e: except Exception as e:
logger.error("图片上传异常:{}, requestId:{}", format_exc(), request_id) logger.error("图片上传异常:{}, requestId:{}", format_exc(), request_id)
self.ex = e
finally: finally:
clear_queue(image_queue) clear_queue(image_queue)
logger.info("停止图片识别图片上传线程, requestId:{}", request_id) logger.info("停止图片识别图片上传线程, requestId:{}", request_id)

+ 1
- 2
concurrency/IntelligentRecognitionProcess.py View File

import os import os
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from os.path import join, exists, getsize from os.path import join, exists, getsize
from profile import Profile
from time import time, sleep from time import time, sleep
from traceback import format_exc from traceback import format_exc


for r in task_list: for r in task_list:
r.result(60) r.result(60)
if image_thread and not image_thread.is_alive(): if image_thread and not image_thread.is_alive():
if image_thread.ex:
raise image_thread.ex
raise Exception("图片识别图片上传线程异常停止!!!") raise Exception("图片识别图片上传线程异常停止!!!")
if image_thread and image_thread.is_alive(): if image_thread and image_thread.is_alive():
put_queue(image_queue, (2, 'stop'), timeout=2) put_queue(image_queue, (2, 'stop'), timeout=2)

+ 7
- 9
concurrency/IntelligentRecognitionProcess2.py View File

# (modeType, model_param, allowedList, names, rainbows) # (modeType, model_param, allowedList, names, rainbows)
MODEL_CONFIG2[code][2](frame_list[0].shape[1], frame_list[0].shape[0], MODEL_CONFIG2[code][2](frame_list[0].shape[1], frame_list[0].shape[0],
model_conf) model_conf)
if draw_config.get("font_config") is None:
draw_config["font_config"] = model_param['font_config']
if draw_config.get(code) is None:
draw_config[code] = {}
draw_config[code]["allowedList"] = model_conf[2]
draw_config[code]["rainbows"] = model_conf[4]
draw_config[code]["label_arrays"] = model_param['label_arraylist']
if draw_config.get("font_config") is None:
draw_config["font_config"] = model_param['font_config']
if draw_config.get(code) is None:
draw_config[code] = {}
draw_config[code]["allowedList"] = model_conf[2]
draw_config[code]["rainbows"] = model_conf[4]
draw_config[code]["label_arrays"] = model_param['label_arraylist']
# 多线程并发处理, 经过测试两个线程最优 # 多线程并发处理, 经过测试两个线程最优
det_array = [] det_array = []
for model in model_array: for model in model_array:
for r in task_list: for r in task_list:
r.result(timeout=60) r.result(timeout=60)
if image_thread and not image_thread.is_alive(): if image_thread and not image_thread.is_alive():
if image_thread.ex:
raise image_thread.ex
raise Exception("图片识别图片上传线程异常停止!!!") raise Exception("图片识别图片上传线程异常停止!!!")
if image_thread and image_thread.is_alive(): if image_thread and image_thread.is_alive():
put_queue(image_queue, (2, 'stop'), timeout=10, is_ex=True) put_queue(image_queue, (2, 'stop'), timeout=10, is_ex=True)

+ 0
- 1
dsp_master.py View File

from service.Dispatcher import DispatcherService from service.Dispatcher import DispatcherService
from util.LogUtils import init_log from util.LogUtils import init_log



''' '''
dsp主程序入口 dsp主程序入口
''' '''

Loading…
Cancel
Save