MOD:线程池方式
Showing
1 changed file
with
17 additions
and
10 deletions
| ... | @@ -51,6 +51,7 @@ from common.tools.comparison import cp | ... | @@ -51,6 +51,7 @@ from common.tools.comparison import cp |
| 51 | from common.tools.des import decode_des | 51 | from common.tools.des import decode_des |
| 52 | 52 | ||
| 53 | import threading | 53 | import threading |
| 54 | import concurrent.futures | ||
| 54 | 55 | ||
| 55 | compare_log = logging.getLogger('compare') | 56 | compare_log = logging.getLogger('compare') |
| 56 | log_base = '[Compare]' | 57 | log_base = '[Compare]' |
| ... | @@ -3715,11 +3716,14 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res | ... | @@ -3715,11 +3716,14 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res |
| 3715 | 3716 | ||
| 3716 | @app.task | 3717 | @app.task |
| 3717 | def fsm_compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): | 3718 | def fsm_compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): |
| 3718 | try: | 3719 | # try: |
| 3719 | producer_thread_fsm = threading.Thread(target=fsm_compare_thread, args=(application_id, application_entity, uniq_seq, ocr_res_id, is_ca, is_cms)) | 3720 | # producer_thread_fsm = threading.Thread(target=fsm_compare_thread, args=(application_id, application_entity, uniq_seq, ocr_res_id, is_ca, is_cms)) |
| 3720 | producer_thread_fsm.start() | 3721 | # producer_thread_fsm.start() |
| 3721 | except Exception as e: | 3722 | # except Exception as e: |
| 3722 | compare_log.info('[fsm thread error] [error={0}]'.format(traceback.format_exc())) | 3723 | # compare_log.info('[fsm thread error] [error={0}]'.format(traceback.format_exc())) |
| 3724 | with concurrent.futures.ThreadPoolExecutor(max_workers=20) as executor: | ||
| 3725 | # 使用map函数提交多个任务 | ||
| 3726 | results = list(executor.map(fsm_compare_thread, application_id, application_entity, uniq_seq, ocr_res_id, is_ca, is_cms)) | ||
| 3723 | 3727 | ||
| 3724 | 3728 | ||
| 3725 | def fsm_compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): | 3729 | def fsm_compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): |
| ... | @@ -3784,11 +3788,14 @@ def fsm_compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, | ... | @@ -3784,11 +3788,14 @@ def fsm_compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, |
| 3784 | 3788 | ||
| 3785 | @app.task | 3789 | @app.task |
| 3786 | def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): | 3790 | def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): |
| 3787 | try: | 3791 | # try: |
| 3788 | producer_thread = threading.Thread(target=compare_thread, args=(application_id, application_entity, uniq_seq, ocr_res_id, is_ca, is_cms)) | 3792 | # producer_thread = threading.Thread(target=compare_thread, args=(application_id, application_entity, uniq_seq, ocr_res_id, is_ca, is_cms)) |
| 3789 | producer_thread.start() | 3793 | # producer_thread.start() |
| 3790 | except Exception as e: | 3794 | # except Exception as e: |
| 3791 | compare_log.info('[thread error] [error={0}]'.format(traceback.format_exc())) | 3795 | # compare_log.info('[thread error] [error={0}]'.format(traceback.format_exc())) |
| 3796 | with concurrent.futures.ThreadPoolExecutor(max_workers=20) as executor: | ||
| 3797 | # 使用map函数提交多个任务 | ||
| 3798 | results = list(executor.map(compare_thread, application_id, application_entity, uniq_seq, ocr_res_id, is_ca, is_cms)) | ||
| 3792 | 3799 | ||
| 3793 | def compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): | 3800 | def compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True, is_cms=False): |
| 3794 | # POS: application_id, application_entity, uniq_seq, None | 3801 | # POS: application_id, application_entity, uniq_seq, None | ... | ... |
-
Please register or sign in to post a comment