|
@@ -70,10 +70,6 @@ SATHTTP::STTask* CSATExecutor::GetFreeTask()
|
|
|
void CSATExecutor::DelFinishedTask()
|
|
|
{
|
|
|
AutoThreadSection ats(&m_csTask);
|
|
|
- // 任务数量小于等于1时,不删除完成的任务;
|
|
|
- if ( m_vtTask.size() <= 1)
|
|
|
- return;
|
|
|
-
|
|
|
std::list<SATHTTP::STTask>::iterator it = m_vtTask.begin();
|
|
|
for ( ; it != m_vtTask.end(); it++ ) {
|
|
|
// 状态为2的完成任务;
|
|
@@ -95,7 +91,8 @@ void CSATExecutor::DelFinishedTask()
|
|
|
GLOBAL::WriteTextLog(GLOBAL::SAT_EXE, "\n<===============================================>\n"
|
|
|
"end.删除已完成任务:%s\n<===============================================>\n", it->Job.strUniqueId.c_str());
|
|
|
// 删除任务;
|
|
|
- m_vtTask.erase(it);
|
|
|
+ if ( m_vtTask.size() > 1 )
|
|
|
+ m_vtTask.erase(it);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -1221,13 +1218,15 @@ DWORD CSATExecutor::HearbeatThread(LPVOID lpVoid)
|
|
|
}
|
|
|
|
|
|
that->m_vtTask.push_back(*it);
|
|
|
-
|
|
|
+
|
|
|
// 通知SAT服务器,脚本开始执行;
|
|
|
// 待开发:同时将任务存储到数据库中;
|
|
|
/*
|
|
|
db process
|
|
|
*/
|
|
|
}
|
|
|
+ // 进行一次删除操作;
|
|
|
+ that->DelFinishedTask();
|
|
|
}
|
|
|
}
|
|
|
|