-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
萌新发现在进行性能测试时调用的evalscope库生成的日志文件挺大的,随随便便就是几十MB,请求数多点就一百多MB了
萌新初学python以及在不了解evalscope的基础下,大胆参照大佬你写的改动了下代码:
1)首先在这2个配置文件中增加了个配置:
# evalscope生成的outputs数据是否在任务执行完毕后删除
DATA_OUTPUTS_DELETE_ENABLED=True
# evalscope生成的outputs数据是否在任务执行完毕后删除
DATA_OUTPUTS_DELETE_ENABLED = os.environ.get('DATA_OUTPUTS_DELETE_ENABLED')
3)在perf_service.py的run_performance_evaluation方法中,增加参数,使按任务ID创建文件夹
(萌新看了好久的源代码才想到的,呜呜o(╥﹏╥)o):
"outputs_dir": f"./outputs/{task_id}"
4)在perf_service.py的update_task_from_output_file方法中,增加了删除的处理:
```
outputs_dir = current_app.config['DATA_OUTPUTS_DIR']
outputs_path = os.path.join(outputs_dir, str(task_id))
is_delete = current_app.config['DATA_OUTPUTS_DELETE_ENABLED']
# evalscope生成的outputs数据是否在任务执行完毕后删除
if is_delete and os.path.exists(outputs_path):
try:
shutil.rmtree(outputs_path)
current_app.logger.info(f"目录 {outputs_path} 已成功删除")
except FileNotFoundError:
current_app.logger.warning(f"目录 {outputs_path} 不存在")
except PermissionError:
current_app.logger.warning(f"没有权限删除目录 {outputs_path}")
except Exception as e:
current_app.logger.warning(f"删除目录时发生错误: {e}")
```
萌新写的比较简陋,主要是没啥开发经验,别打脸,要打打轻点o(╥﹏╥)o
大佬有没有好的可配置选择删除evalscope库的outputs日志的方法,求分享!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
