From 73b88f6e433b0bf4576b8b09daaeba4ad85a1415 Mon Sep 17 00:00:00 2001 From: BladeHiker Date: Fri, 7 Jul 2023 22:31:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8E=BB=E6=8E=89=E5=BC=82=E6=AD=A5?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=8F=AF=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/config.json | 4 ++++ src/MaaCore/Config/GeneralConfig.cpp | 2 ++ src/MaaCore/Config/GeneralConfig.h | 7 +++++++ src/MaaCore/Task/AbstractTask.cpp | 14 +++++--------- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/resource/config.json b/resource/config.json index 149d01a6e8..b719a00d6f 100644 --- a/resource/config.json +++ b/resource/config.json @@ -49,6 +49,10 @@ "Doc": "仓库识别导出结果模板", "arkPlanner": "{\"@type\": \"@penguin-statistics/depot\",\"items\": []}", "arkPlanner_Doc": "https://penguin-stats.cn/planner" + }, + "debug": { + "cleanFilesFreq": 100, + "maxDebugFileNum": 1000 } }, "intent": { diff --git a/src/MaaCore/Config/GeneralConfig.cpp b/src/MaaCore/Config/GeneralConfig.cpp index 9b9617aa43..4a1018db8b 100644 --- a/src/MaaCore/Config/GeneralConfig.cpp +++ b/src/MaaCore/Config/GeneralConfig.cpp @@ -53,6 +53,8 @@ bool asst::GeneralConfig::parse(const json::value& json) } m_options.depot_export_template.ark_planner = options_json.get("depotExportTemplate", "arkPlanner", std::string()); + m_options.debug.clean_files_freq = options_json.get("debug", "cleanFilesFreq", 100); + m_options.debug.max_debug_file_num = options_json.get("debug", "maxDebugFileNum", 1000); } for (const auto& [client_type, intent_name] : json.at("intent").as_object()) { diff --git a/src/MaaCore/Config/GeneralConfig.h b/src/MaaCore/Config/GeneralConfig.h index d7a6689863..dbfab61e03 100644 --- a/src/MaaCore/Config/GeneralConfig.h +++ b/src/MaaCore/Config/GeneralConfig.h @@ -23,6 +23,12 @@ namespace asst std::string ark_planner; }; + struct DebugConf + { + int clean_files_freq = 100; + int max_debug_file_num = 1000; + }; + struct Options { int task_delay = 0; // 任务间延时:越快操作越快,但会增加CPU消耗 @@ -48,6 +54,7 @@ namespace asst // 每次到结算界面,汇报掉落数据至企鹅物流 https://penguin-stats.cn/ DepotExportTemplate depot_export_template; // 仓库识别结果导出模板 RequestInfo yituliu_report; // 一图流大数据汇报:目前只有公招功能,https://yituliu.site/maarecruitdata + DebugConf debug; }; struct AdbCfg diff --git a/src/MaaCore/Task/AbstractTask.cpp b/src/MaaCore/Task/AbstractTask.cpp index 5a37c5f389..f53fbfe11a 100644 --- a/src/MaaCore/Task/AbstractTask.cpp +++ b/src/MaaCore/Task/AbstractTask.cpp @@ -159,16 +159,13 @@ bool asst::AbstractTask::save_img(const std::filesystem::path& relative_dir) } std::string stem = utils::get_time_filestem(); - // 第一次或每执行100次后执行清理 + // 第1次或每执行 debug.clean_files_freq(100) 次后执行清理 + // 限制文件数量 debug.max_debug_file_num if (m_save_file_cnt[relative_dir] == 0) { - std::thread t([=]() { - filenum_ctrl(relative_dir, 1000); - }); - t.detach(); - + filenum_ctrl(relative_dir, Config.get_options().debug.max_debug_file_num); m_save_file_cnt[relative_dir] = 0; } - m_save_file_cnt[relative_dir] = (m_save_file_cnt[relative_dir] + 1) % 100; + m_save_file_cnt[relative_dir] = (m_save_file_cnt[relative_dir] + 1) % Config.get_options().debug.clean_files_freq; auto relative_path = relative_dir / (stem + "_raw.png"); Log.trace("Save image", relative_path); @@ -211,11 +208,10 @@ size_t asst::AbstractTask::filenum_ctrl(const std::filesystem::path& relative_di for (int i = 0; i < to_del; ++i) { auto path = filepaths[i].second; - std::cout << filepaths[i].first.time_since_epoch().count() << path << std::endl; if (std::filesystem::remove(path)) { deleted++; } } - + LogTrace << "Finish folder cleanup delete " << deleted << " files from " << absolute_path; return deleted; }