fix: 修复Status缓存跨任务清理在任务链正常完成情况下失效的错误 (#6428)

- close #6417
This commit is contained in:
MistEO
2023-09-18 10:38:20 +08:00
committed by GitHub
2 changed files with 3 additions and 2 deletions

View File

@@ -340,7 +340,6 @@ bool asst::Assistant::start(bool block)
if (block) { // 外部调用
lock = std::unique_lock<std::mutex>(m_mutex);
}
m_thread_idle = false;
m_running = true;
m_condvar.notify_one();
@@ -362,7 +361,6 @@ bool Assistant::stop(bool block)
m_tasks_list.clear();
clear_cache();
return true;
}
@@ -425,6 +423,7 @@ void Assistant::working_proc()
callback_json["finished_tasks"] = json::array(finished_tasks);
append_callback(AsstMsg::AllTasksCompleted, callback_json);
finished_tasks.clear();
clear_cache();
}
const int delay = Config.get_options().task_delay;

View File

@@ -94,6 +94,7 @@ bool asst::InfrastAbstractTask::match_operator_groups()
auto opers = get_available_oper_for_group();
if (opers.size() == 0) {
Log.info(__FUNCTION__, "availvable operator for gourp is empty");
std::vector<std::string> temp, pre_temp;
while (true) {
if (need_exit()) {
@@ -129,6 +130,7 @@ bool asst::InfrastAbstractTask::match_operator_groups()
}
swipe_to_the_left_of_operlist(swipe_times + 1);
swipe_times = 0;
Log.info(__FUNCTION__, "availvable operators for gourp size:", opers.size());
// 筛选第一个满足要求的干员组
for (const auto& oper_group_pair : current_room_config().operator_groups) {
if (ranges::all_of(oper_group_pair.second, [opers](const std::string& oper) { return opers.contains(oper); })) {