参数:
file_paths: 文件路径列表
max_workers: 最大并发数,默认 4(避免过多进程争抢资源)
"""
results =[] with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers)as executor: # 提交所有任务
future_map ={
executor.submit(process_single_file, fp): fp for fp in file_paths } # 按完成顺序收集结果 for future in concurrent.futures.as_completed(future_map):
result = future.result()
results.append(result) print(f" 完成:{result['file']}") return results
if __name__ =="__main__": # 模拟:处理上传目录中的所有 CSV 文件
upload_dir ="/mnt/user-data/uploads"
csv_files =[ os.path.join(upload_dir, f) for f inos.listdir(upload_dir) if f.endswith(".csv") ]