fix bug
Showing
1 changed file
with
22 additions
and
5 deletions
| ... | @@ -71,6 +71,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -71,6 +71,7 @@ class Command(BaseCommand, LoggerMixin): |
| 71 | self.cronjob_log.info('{0} [get_doc_info] [queue empty]'.format(self.log_base)) | 71 | self.cronjob_log.info('{0} [get_doc_info] [queue empty]'.format(self.log_base)) |
| 72 | return None, None, None | 72 | return None, None, None |
| 73 | 73 | ||
| 74 | self.cronjob_log.info('{0} [get_doc_info success] [task={1}] [is_priority={2}]'.format(self.log_base, task_str, is_priority)) | ||
| 74 | doc, business_type = self.get_doc_object(task_str) | 75 | doc, business_type = self.get_doc_object(task_str) |
| 75 | 76 | ||
| 76 | if doc is None: | 77 | if doc is None: |
| ... | @@ -421,6 +422,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -421,6 +422,7 @@ class Command(BaseCommand, LoggerMixin): |
| 421 | time.sleep(self.sleep_time_img_get) | 422 | time.sleep(self.sleep_time_img_get) |
| 422 | continue | 423 | continue |
| 423 | else: | 424 | else: |
| 425 | try: | ||
| 424 | self.cronjob_log.info('{0} [img_2_ocr_1] [get img] [img_path={1}]'.format(self.log_base, img_path)) | 426 | self.cronjob_log.info('{0} [img_2_ocr_1] [get img] [img_path={1}]'.format(self.log_base, img_path)) |
| 425 | 427 | ||
| 426 | for times in range(consts.RETRY_TIMES): | 428 | for times in range(consts.RETRY_TIMES): |
| ... | @@ -451,6 +453,9 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -451,6 +453,9 @@ class Command(BaseCommand, LoggerMixin): |
| 451 | ocr_1_res = {} | 453 | ocr_1_res = {} |
| 452 | self.cronjob_log.warn('{0} [ocr_1 failed] [img_path={1}]'.format(self.log_base, img_path)) | 454 | self.cronjob_log.warn('{0} [ocr_1 failed] [img_path={1}]'.format(self.log_base, img_path)) |
| 453 | # continue | 455 | # continue |
| 456 | except Exception as e: | ||
| 457 | self.cronjob_log.error('{0} [process error (ocr fetch)] [img_path={1}] [error={2}]'.format( | ||
| 458 | self.log_base, img_path, traceback.format_exc())) | ||
| 454 | 459 | ||
| 455 | try: | 460 | try: |
| 456 | del json_data_1 | 461 | del json_data_1 |
| ... | @@ -470,7 +475,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -470,7 +475,7 @@ class Command(BaseCommand, LoggerMixin): |
| 470 | else: | 475 | else: |
| 471 | todo_count_dict[task_str] = todo_count - 1 | 476 | todo_count_dict[task_str] = todo_count - 1 |
| 472 | except Exception as e: | 477 | except Exception as e: |
| 473 | self.cronjob_log.error('{0} [process failed (store ocr res)] [img_path={1}] [error={2}]'.format( | 478 | self.cronjob_log.error('{0} [process error (store ocr res)] [img_path={1}] [error={2}]'.format( |
| 474 | self.log_base, img_path, traceback.format_exc())) | 479 | self.log_base, img_path, traceback.format_exc())) |
| 475 | 480 | ||
| 476 | def res_2_wb(self, res_dict, finish_queue, lock): | 481 | def res_2_wb(self, res_dict, finish_queue, lock): |
| ... | @@ -482,12 +487,12 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -482,12 +487,12 @@ class Command(BaseCommand, LoggerMixin): |
| 482 | time.sleep(self.sleep_time_task_get) | 487 | time.sleep(self.sleep_time_task_get) |
| 483 | continue | 488 | continue |
| 484 | else: | 489 | else: |
| 490 | try: | ||
| 485 | self.cronjob_log.info('{0} [res_2_wb] [get task] [task={1}]'.format(self.log_base, task_str)) | 491 | self.cronjob_log.info('{0} [res_2_wb] [get task] [task={1}]'.format(self.log_base, task_str)) |
| 486 | ocr_1_res = res_dict.get(task_str, {}) | 492 | ocr_1_res = res_dict.get(task_str, {}) |
| 487 | # self.cronjob_log.info('{0} [res_2_wb] [get task res] [task={1}]'.format( | 493 | # self.cronjob_log.info('{0} [res_2_wb] [get task res] [task={1}]'.format( |
| 488 | # self.log_base, task_str)) | 494 | # self.log_base, task_str)) |
| 489 | 495 | ||
| 490 | try: | ||
| 491 | # 4.OCR结果并且构建excel文件 | 496 | # 4.OCR结果并且构建excel文件 |
| 492 | bs_summary = {} | 497 | bs_summary = {} |
| 493 | license_summary = {} | 498 | license_summary = {} |
| ... | @@ -605,6 +610,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -605,6 +610,7 @@ class Command(BaseCommand, LoggerMixin): |
| 605 | count_list = wb.rebuild(merged_bs_summary, license_summary, res_list, doc.document_scheme) | 610 | count_list = wb.rebuild(merged_bs_summary, license_summary, res_list, doc.document_scheme) |
| 606 | wb.save(excel_path) | 611 | wb.save(excel_path) |
| 607 | except Exception as e: | 612 | except Exception as e: |
| 613 | try: | ||
| 608 | with lock: | 614 | with lock: |
| 609 | if task_str in res_dict: | 615 | if task_str in res_dict: |
| 610 | del res_dict[task_str] | 616 | del res_dict[task_str] |
| ... | @@ -613,6 +619,10 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -613,6 +619,10 @@ class Command(BaseCommand, LoggerMixin): |
| 613 | doc.save() | 619 | doc.save() |
| 614 | self.cronjob_log.error('{0} [process failed (res to wb)] [task={1}] [error={2}]'.format( | 620 | self.cronjob_log.error('{0} [process failed (res to wb)] [task={1}] [error={2}]'.format( |
| 615 | self.log_base, task_str, traceback.format_exc())) | 621 | self.log_base, task_str, traceback.format_exc())) |
| 622 | except Exception as e: | ||
| 623 | self.cronjob_log.error('{0} [process error (wb end)] [task={1}] [error={2}]'.format( | ||
| 624 | self.log_base, task_str, traceback.format_exc())) | ||
| 625 | |||
| 616 | try: | 626 | try: |
| 617 | doc_data_path = os.path.join(self.data_dir, business_type, consts.TMP_DIR_NAME, str(doc.id)) | 627 | doc_data_path = os.path.join(self.data_dir, business_type, consts.TMP_DIR_NAME, str(doc.id)) |
| 618 | img_save_path = os.path.join(doc_data_path, 'img') | 628 | img_save_path = os.path.join(doc_data_path, 'img') |
| ... | @@ -620,7 +630,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -620,7 +630,7 @@ class Command(BaseCommand, LoggerMixin): |
| 620 | pdf_path = os.path.join(doc_data_path, '{0}.pdf'.format(doc.id)) | 630 | pdf_path = os.path.join(doc_data_path, '{0}.pdf'.format(doc.id)) |
| 621 | os.remove(pdf_path) | 631 | os.remove(pdf_path) |
| 622 | except Exception as e: | 632 | except Exception as e: |
| 623 | self.cronjob_log.error('{0} [file remove failed] [task={1}] [error={2}]'.format( | 633 | self.cronjob_log.error('{0} [process error (file remove 1)] [task={1}] [error={2}]'.format( |
| 624 | self.log_base, task_str, traceback.format_exc())) | 634 | self.log_base, task_str, traceback.format_exc())) |
| 625 | else: | 635 | else: |
| 626 | try: | 636 | try: |
| ... | @@ -631,7 +641,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -631,7 +641,7 @@ class Command(BaseCommand, LoggerMixin): |
| 631 | # os.remove(pdf_path) | 641 | # os.remove(pdf_path) |
| 632 | # os.remove(src_excel_path) | 642 | # os.remove(src_excel_path) |
| 633 | except Exception as e: | 643 | except Exception as e: |
| 634 | self.cronjob_log.error('{0} [file remove failed] [task={1}] [error={2}]'.format( | 644 | self.cronjob_log.error('{0} [process error (file remove 2)] [task={1}] [error={2}]'.format( |
| 635 | self.log_base, task_str, traceback.format_exc())) | 645 | self.log_base, task_str, traceback.format_exc())) |
| 636 | try: | 646 | try: |
| 637 | # 5.上传至EDMS | 647 | # 5.上传至EDMS |
| ... | @@ -648,6 +658,7 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -648,6 +658,7 @@ class Command(BaseCommand, LoggerMixin): |
| 648 | else: | 658 | else: |
| 649 | raise EDMSException(edms_exc) | 659 | raise EDMSException(edms_exc) |
| 650 | except Exception as e: | 660 | except Exception as e: |
| 661 | try: | ||
| 651 | doc.status = DocStatus.UPLOAD_FAILED.value | 662 | doc.status = DocStatus.UPLOAD_FAILED.value |
| 652 | doc.end_time = timezone.now() | 663 | doc.end_time = timezone.now() |
| 653 | doc.duration = min((doc.end_time - doc.start_time).seconds, 32760) | 664 | doc.duration = min((doc.end_time - doc.start_time).seconds, 32760) |
| ... | @@ -657,7 +668,11 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -657,7 +668,11 @@ class Command(BaseCommand, LoggerMixin): |
| 657 | doc.save() | 668 | doc.save() |
| 658 | self.cronjob_log.error('{0} [process failed (edms upload)] [task={1}] [error={2}]'.format( | 669 | self.cronjob_log.error('{0} [process failed (edms upload)] [task={1}] [error={2}]'.format( |
| 659 | self.log_base, task_str, traceback.format_exc())) | 670 | self.log_base, task_str, traceback.format_exc())) |
| 671 | except Exception as e: | ||
| 672 | self.cronjob_log.error('{0} [process error (edms upload)] [task={1}] [error={2}]'.format( | ||
| 673 | self.log_base, task_str, traceback.format_exc())) | ||
| 660 | else: | 674 | else: |
| 675 | try: | ||
| 661 | doc.status = DocStatus.COMPLETE.value | 676 | doc.status = DocStatus.COMPLETE.value |
| 662 | doc.end_time = timezone.now() | 677 | doc.end_time = timezone.now() |
| 663 | doc.duration = min((doc.end_time - doc.start_time).seconds, 32760) | 678 | doc.duration = min((doc.end_time - doc.start_time).seconds, 32760) |
| ... | @@ -667,7 +682,9 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -667,7 +682,9 @@ class Command(BaseCommand, LoggerMixin): |
| 667 | doc.save() | 682 | doc.save() |
| 668 | self.cronjob_log.info('{0} [process complete] [task={1}]'.format(self.log_base, task_str)) | 683 | self.cronjob_log.info('{0} [process complete] [task={1}]'.format(self.log_base, task_str)) |
| 669 | # os.remove(excel_path) | 684 | # os.remove(excel_path) |
| 670 | 685 | except Exception as e: | |
| 686 | self.cronjob_log.error('{0} [process error (completed)] [task={1}] [error={2}]'.format( | ||
| 687 | self.log_base, task_str, traceback.format_exc())) | ||
| 671 | 688 | ||
| 672 | 689 | ||
| 673 | # TODO 细化文件状态,不同异常状态,归还队列,重试时采取不同的处理 | 690 | # TODO 细化文件状态,不同异常状态,归还队列,重试时采取不同的处理 | ... | ... |
-
Please register or sign in to post a comment