diff --git a/backend/queue.py b/backend/queue.py index 87e3921..fe60095 100644 --- a/backend/queue.py +++ b/backend/queue.py @@ -87,9 +87,11 @@ async def process_file(file_path: Path, task_id: str): await _send_progress(task_id, 75, "Генерация документов...", "processing") - # Определяем имена выходных файлов + # Определяем имена выходных файлов (уникальная папка с timestamp) stem = file_path.stem - output_dir = PROCESSED_DIR / stem + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + folder_name = f"{stem}_{timestamp}" + output_dir = PROCESSED_DIR / folder_name output_dir.mkdir(parents=True, exist_ok=True) # Сохраняем docx и md @@ -99,10 +101,9 @@ async def process_file(file_path: Path, task_id: str): build_document(result["segments"], docx_path, config) build_document(result["segments"], md_path, config) - # Также сохраняем исходник + # Также сохраняем исходник (всегда копируем, так как папка уникальная) src_copy = output_dir / file_path.name - if not src_copy.exists(): - shutil.copy2(str(file_path), str(src_copy)) + shutil.copy2(str(file_path), str(src_copy)) result_data = { "docx": str(docx_path),