From c00328ed8d84848996df885cd1af6a383be79ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E9=9B=A8?= Date: Sat, 6 Dec 2025 17:39:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A4=84=E7=90=86=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/sql_db.py | 2 +- main.py | 15 +++++++++------ service/excel_service.py | 4 ++-- service/file_service.py | 6 +++--- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/db/sql_db.py b/db/sql_db.py index b0bad27..fbf0f9e 100644 --- a/db/sql_db.py +++ b/db/sql_db.py @@ -4,7 +4,7 @@ from sqlalchemy.orm import declarative_base, sessionmaker Base = declarative_base() from decouple import config -DB_PATH = config('DB_PATH', default='D://PycharmProject//yj_resume//main.sqlite3') +DB_PATH = config('DB_PATH', default='E://pyptoject//yj_resume//main.sqlite3') class DBTASK(Base): diff --git a/main.py b/main.py index 1ccd829..f9c28b7 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ from fastapi import FastAPI import uvicorn from fastapi import FastAPI, File, UploadFile, HTTPException from typing import List -from service.file_service import check_and_create_directory, upload_and_save_file,fetch_files +from service.file_service import check_and_create_directory, upload_and_save_file, fetch_files from service import excel_service from service.db_service import get_task_list from fastapi.responses import FileResponse @@ -14,7 +14,8 @@ logger = logging.getLogger(__name__) app = FastAPI() - +import concurrent.futures +executor = concurrent.futures.ThreadPoolExecutor(max_workers=10) @app.get("/api/v1/hw") def read_root(): return {"Hello": "World"} @@ -26,11 +27,12 @@ async def create_upload_files(files: List[UploadFile] = File(...)): dir_id = check_and_create_directory(files) if not dir_id: return {"result": False, "code": 500, "message": "create directory failed"} - flag, message= await upload_and_save_file(dir_id, files) + flag, message = await upload_and_save_file(dir_id, files) logger.info(f"flag is {flag}") if flag: - flag,message = await fetch_files(dir_id) - return {"result": flag, "message": message,"task_id": dir_id} + #flag, message = await fetch_files(dir_id) + executor.submit(fetch_files, dir_id) + return {"result": flag, "message": message, "task_id": dir_id} @app.get("/export_task_data_to_excel") @@ -52,4 +54,5 @@ def parse_task_list(): if __name__ == '__main__': - uvicorn.run(app, host="127.0.0.1", port=3006) + logger.info("start server") + uvicorn.run(app, host="0.0.0.0", port=3006) diff --git a/service/excel_service.py b/service/excel_service.py index ab96057..f3008fb 100644 --- a/service/excel_service.py +++ b/service/excel_service.py @@ -4,8 +4,8 @@ import pandas as pd import pathlib from decouple import config -# BASE_PATH = config('BASE_PATH', default='E://pyptoject//yj_resume//') -BASE_PATH = config('BASE_PATH', default='D://PycharmProject//yj_resume//uploads//') +BASE_PATH = config('BASE_PATH', default='E://pyptoject//yj_resume//') +#BASE_PATH = config('BASE_PATH', default='D://PycharmProject//yj_resume//uploads//') # 导出数据到excel diff --git a/service/file_service.py b/service/file_service.py index 7d58420..7f08deb 100644 --- a/service/file_service.py +++ b/service/file_service.py @@ -16,9 +16,9 @@ import logging from service.parse_resume2_doc import extra_resume logger = logging.getLogger(__name__) -BASE_PATH = config('BASE_PATH', default='D://PycharmProject//yj_resume//uploads//') - +#BASE_PATH = config('BASE_PATH', default='D://PycharmProject//yj_resume//uploads//') +BASE_PATH = config('BASE_PATH', default='E://pyptoject//yj_resume//') def check_and_create_directory(files): @@ -74,7 +74,7 @@ async def upload_and_save_file(dir_id, files: List[UploadFile]) -> (bool, str): session.close() return True, "success" -async def fetch_files(dir_id) -> (bool, str): +def fetch_files(dir_id) -> (bool, str): logger.info(f"start fetching files task {dir_id} in service") if not os.path.exists(BASE_PATH):