From 3a3c413bd6e6fb89d80f7a9487ba9fabbd12e8bb Mon Sep 17 00:00:00 2001
From: xuyonghao <898441624@qq.com>
Date: 星期二, 31 十二月 2024 11:16:49 +0800
Subject: [PATCH] 调度器删除文件
---
app/task/delete_execl_file.py | 21 +++++++++++++++++++++
main.py | 2 ++
app/utils/excelmerge/conformity.py | 16 ----------------
3 files changed, 23 insertions(+), 16 deletions(-)
diff --git a/app/task/delete_execl_file.py b/app/task/delete_execl_file.py
new file mode 100644
index 0000000..0ba45ea
--- /dev/null
+++ b/app/task/delete_execl_file.py
@@ -0,0 +1,21 @@
+import os.path
+from datetime import datetime, timedelta
+
+
+def delete_file_after_delay():
+ path = "data/output"
+ data_dir = os.path.dirname(path)
+ if not os.path.exists(data_dir):
+ return
+ if not os.path.exists(path):
+ return
+ now = datetime.now()
+ five_minutes_ago = now - timedelta(minutes=5)
+ for filename in os.listdir(path):
+ file_path = os.path.join(path, filename)
+ if os.path.isfile(file_path):
+ creation_time = os.path.getctime(file_path)
+ file_creation_datetime = datetime.fromtimestamp(creation_time)
+ if file_creation_datetime < five_minutes_ago:
+ os.remove(file_path)
+ print(f"瀹氭椂鍒犻櫎鏂囦欢: {file_path}")
diff --git a/app/utils/excelmerge/conformity.py b/app/utils/excelmerge/conformity.py
index ccaf871..fed5e19 100644
--- a/app/utils/excelmerge/conformity.py
+++ b/app/utils/excelmerge/conformity.py
@@ -5,7 +5,6 @@
from datetime import datetime
from openpyxl import load_workbook
-from Log import logger
def clear_blank_rows(sheet):
@@ -22,19 +21,6 @@
source_sheet.cell(row=row, column=col).value for col in range(4, source_sheet.max_column + 1)):
target_sheet.append(
[source_sheet.cell(row=row, column=col).value for col in range(1, source_sheet.max_column + 1)])
-
-
-def delete_file_after_delay(file_path, delay_minutes):
- from main import scheduler
-
- def delete_file():
- try:
- if os.path.exists(file_path):
- os.remove(file_path)
- except Exception as e:
- logger.error(f"瀹氭椂鍒犻櫎Excel鏂囦欢鏃跺彂鐢熼敊璇�: {e}")
-
- scheduler.add_job(delete_file, 'interval', minutes=delay_minutes, id=f"delete_{file_path}")
def run_conformity(file_path, print_path):
@@ -78,8 +64,6 @@
output_path = os.path.join(print_path, f'{file_name}.xlsx')
template_excel.save(output_path)
template_excel.close()
-
- delete_file_after_delay(output_path, 3)
try:
for filename in os.listdir(file_path):
diff --git a/main.py b/main.py
index fc2f567..6b28b99 100644
--- a/main.py
+++ b/main.py
@@ -23,6 +23,7 @@
from app.api.group import group_router
from app.api.role import role_router
from app.models.base_model import init_db
+from app.task.delete_execl_file import delete_file_after_delay
# from app.models.base_model import init_db
from app.task.fetch_agent import sync_agents, initialize_agents, sync_agents_v2, sync_knowledge, \
sync_resources_from_json
@@ -66,6 +67,7 @@
# 鍒涘缓璋冨害鍣�
scheduler = BackgroundScheduler()
scheduler.add_job(sync_agents_v2, 'interval', minutes=60, id="sync_resource_data")
+scheduler.add_job(delete_file_after_delay, 'interval', minutes=10, id="delete_file_after_delay")
scheduler.start()
app.include_router(auth_router, prefix='/api/auth', tags=["auth"])
--
Gitblit v1.8.0