Преглед изворни кода

!10572 增加拷贝时的重试
Merge pull request !10572 from 80174847/oilyang_fixed_everything

杨诗友80174847 пре 10 месеци
родитељ
комит
ad3a15583d
1 измењених фајлова са 10 додато и 0 уклоњено
  1. 10 0
      Module/mod_vtmloader/VtmLoaderFSM.cpp

+ 10 - 0
Module/mod_vtmloader/VtmLoaderFSM.cpp

@@ -1003,6 +1003,7 @@ int CVtmLoaderFSM::NetWorkCheckAndGetSetting()
 		GetEntityBase()->GetFunction()->SetSysVar("TerminalStage", "N");
 	}
 	//oilyang@20241017 to check if have copied dep directory
+	int copyTries = 0;
 	while (true)
 	{
 		if (m_eDepCopyStage == DepDirInitCopy_NoNeed || m_eDepCopyStage == DepDirInitCopy_CopySuc)
@@ -1019,6 +1020,15 @@ int CVtmLoaderFSM::NetWorkCheckAndGetSetting()
 		{
 			LogWarn(Severity_High, Error_Unexpect, VtmLoader_DepDirCopyFailed, "厂商适配器Dep文件拷贝失败,请联系分行IT排查是否安全软件干扰文件拷贝");
 			Sleep(60000);
+			copyTries++;
+			if (copyTries > 4)
+			{
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("have tried %d times, give up", copyTries);
+				return -1;
+			}
+			m_eDepCopyStage = DepDirInitCopy_Copying;
+			CopyDepFilesToNewDepPathTask* pCopyTask = new CopyDepFilesToNewDepPathTask(this);
+			GetEntityBase()->GetFunction()->PostThreadPoolTask(pCopyTask);
 		}
 	}
 	return EntityLoad();