|
@@ -74,7 +74,7 @@ ErrorCodeEnum CHeartBeatFSM::OnInit()
|
|
|
LogWarn(Severity_Middle, Error_NotConfig, LOG_EVT_HEARTBEAT_LACK_CENSETTINGS, "打开集中配置失败,请检查集中配置是否存在!");
|
|
|
return Error_DevLoadFileFailed;
|
|
|
}
|
|
|
- m_tmpTestFlag = 0;
|
|
|
+
|
|
|
|
|
|
m_isCardStore = !sysInfo.strMachineType.Compare("RVC.CardStore", true);
|
|
|
|
|
@@ -92,8 +92,6 @@ ErrorCodeEnum CHeartBeatFSM::OnInit()
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("CrossUseJS=%d", tmpCrossUseJS);
|
|
|
}
|
|
|
|
|
|
- spConfig->ReadConfigValueInt(GetEntityBase()->GetEntityName(),"TestFlag",m_tmpTestFlag);
|
|
|
-
|
|
|
spConfig->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "LongConnInterval", m_longConnInterval);
|
|
|
if (m_longConnInterval == 0) {
|
|
|
//未配置
|
|
@@ -125,7 +123,15 @@ ErrorCodeEnum CHeartBeatFSM::OnInit()
|
|
|
m_handShakeConnInterval = intervalTemp;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ int tmpSleepMode = 0;
|
|
|
+ Error =spConfig->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "SleepMode", tmpSleepMode);
|
|
|
+ if(Error ==Error_Succeed){
|
|
|
+ if (tmpSleepMode == 1) {
|
|
|
+ m_bSleepMode = true;
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SleepMode=%d", tmpSleepMode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//网络字节序
|
|
|
//由于双活改造,改成固定ip,分行服务有处理
|
|
|
//m_servIP = "99.1.100.215";
|
|
@@ -151,7 +157,7 @@ ErrorCodeEnum CHeartBeatFSM::OnInit()
|
|
|
if (!m_strHandShakeUrl.IsNullOrEmpty()) {
|
|
|
NewHandShakeTask* task = new NewHandShakeTask(this);
|
|
|
Error = this->GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
|
|
|
- if (rc != Error_Succeed)
|
|
|
+ if (Error != Error_Succeed)
|
|
|
{
|
|
|
LogError(Severity_Middle, rc, 0, CSimpleStringA::Format("NewHandShakeTask Thread is fail,%d", (int)rc).GetData());
|
|
|
m_testResult = Error_InvalidState;//启动心跳线程失败
|
|
@@ -410,6 +416,7 @@ int CHeartBeatFSM::DoHandShake()
|
|
|
|
|
|
if (!m_pHandShakeConn || !m_pHandShakeConn->IsConnectionOK())
|
|
|
{
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DoHandShake m_pHandShakeConn is disConnection");
|
|
|
FSMEvent *e = new FSMEvent(USER_EVT_START);
|
|
|
PostEventFIFO(e);
|
|
|
break;
|
|
@@ -417,12 +424,31 @@ int CHeartBeatFSM::DoHandShake()
|
|
|
GetEntityBase()->GetFunction()->SetSysVar("HeartbeatState", "C");
|
|
|
m_pHandShakeConn->SendHandShake();
|
|
|
|
|
|
- Sleep(m_longConnInterval);//修改成可配置的时间间隔
|
|
|
-
|
|
|
- if (m_tmpTestFlag)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("send spshell.exe restart event.");
|
|
|
- LogEvent(Severity_Middle, Event_Req_Framework_Restart, "spshell.exe restart");
|
|
|
+ if (m_bSleepMode) {
|
|
|
+ Sleep(m_longConnInterval);//修改成可配置的时间间隔
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ int sleepTimeInterval = 10000;
|
|
|
+ int remainSleepTime = m_longConnInterval;
|
|
|
+ while (remainSleepTime > 0) {
|
|
|
+ int sleepTime = 0;
|
|
|
+ if (remainSleepTime >= sleepTimeInterval) {
|
|
|
+ sleepTime = sleepTimeInterval;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sleepTime = remainSleepTime;
|
|
|
+ }
|
|
|
+ Sleep(sleepTime);
|
|
|
+ remainSleepTime = remainSleepTime - sleepTime;
|
|
|
+ if (!m_pHandShakeConn || !m_pHandShakeConn->IsConnectionOK()) {
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("m_pHandShakeConn is disconnect");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("m_pHandShakeConn is connect");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|