瀏覽代碼

多轮任务修改记录:
1、将task信息分离出单独的结构体;
2、分离后对应函数变化;

Jeff 5 年之前
父節點
當前提交
58e5ddf5a6
共有 2 個文件被更改,包括 35 次插入30 次删除
  1. 19 19
      SATHTTP/SATHTTP/SATHTTP.cpp
  2. 16 11
      SATHTTP/SATHTTP/SATHTTP.h

+ 19 - 19
SATHTTP/SATHTTP/SATHTTP.cpp

@@ -425,24 +425,24 @@ SATHTTP_API int Heartbeat(std::string url, const SATHTTP::STHeartbeatReq &stHear
 								if ( pTask )
 								{
 									SATHTTP::STTask stTask;
-									stTask.strInstanceName = cJSON_GetObjectItem(pTask, "instanceName") ? cJSON_GetObjectItem(pTask, "instanceName")->valuestring : "";
-									stTask.strExecutionStatus = cJSON_GetObjectItem(pTask, "executionStatus") ? cJSON_GetObjectItem(pTask, "executionStatus")->valuestring : "";
-									stTask.strInstanceType = cJSON_GetObjectItem(pTask, "instanceType") ? cJSON_GetObjectItem(pTask, "instanceType")->valuestring : "";
-									stTask.nExecuteId = cJSON_GetObjectItem(pTask, "executeId") ? cJSON_GetObjectItem(pTask, "executeId")->valueint : -1;
-									stTask.strRequestIP = cJSON_GetObjectItem(pTask, "requestIp") ? cJSON_GetObjectItem(pTask, "requestIp")->valuestring : "";
-									stTask.strTaskUseType = cJSON_GetObjectItem(pTask, "taskUseType") ? cJSON_GetObjectItem(pTask, "taskUseType")->valuestring : "";
-									stTask.nDeviceId = cJSON_GetObjectItem(pTask, "deviceId") ? cJSON_GetObjectItem(pTask, "deviceId")->valueint : -1;
-									stTask.strDiffTaskInstanceFlag = cJSON_GetObjectItem(pTask, "diffTaskInstanceFlag") ? cJSON_GetObjectItem(pTask, "diffTaskInstanceFlag")->valuestring : "";
-									stTask.strTaskType = cJSON_GetObjectItem(pTask, "taskType") ? cJSON_GetObjectItem(pTask, "taskType")->valuestring : "";
-									stTask.nInstanceId = cJSON_GetObjectItem(pTask, "instanceId") ? cJSON_GetObjectItem(pTask, "instanceId")->valueint : -1;
-									stTask.strProgress = cJSON_GetObjectItem(pTask, "progress") ? cJSON_GetObjectItem(pTask, "progress")->valuestring : "";
-									stTask.strStartTime = cJSON_GetObjectItem(pTask, "startTime") ? cJSON_GetObjectItem(pTask, "startTime")->valuestring : "";
-									stTask.strStopTime = cJSON_GetObjectItem(pTask, "stopTime") ? cJSON_GetObjectItem(pTask, "stopTime")->valuestring : "";
-									stTask.strTaskName = cJSON_GetObjectItem(pTask, "taskName") ? cJSON_GetObjectItem(pTask, "taskName")->valuestring : "";
-									stTask.Id = cJSON_GetObjectItem(pTask, "id") ? cJSON_GetObjectItem(pTask, "id")->valueint : -1;
-									stTask.fd = cJSON_GetObjectItem(pTask, "fd") ? cJSON_GetObjectItem(pTask, "fd")->valueint : -1;
-									stTask.nTaskId = cJSON_GetObjectItem(pTask, "taskId") ? cJSON_GetObjectItem(pTask, "taskId")->valueint : -1;
-									//stTask.strTaskId = cJSON_GetObjectItem(pTask, "taskId") ? cJSON_GetObjectItem(pTask, "taskId")->valuestring : "0";
+									stTask.taskInfo.strInstanceName = cJSON_GetObjectItem(pTask, "instanceName") ? cJSON_GetObjectItem(pTask, "instanceName")->valuestring : "";
+									stTask.taskInfo.strExecutionStatus = cJSON_GetObjectItem(pTask, "executionStatus") ? cJSON_GetObjectItem(pTask, "executionStatus")->valuestring : "";
+									stTask.taskInfo.strInstanceType = cJSON_GetObjectItem(pTask, "instanceType") ? cJSON_GetObjectItem(pTask, "instanceType")->valuestring : "";
+									stTask.taskInfo.nExecuteId = cJSON_GetObjectItem(pTask, "executeId") ? cJSON_GetObjectItem(pTask, "executeId")->valueint : -1;
+									stTask.taskInfo.strRequestIP = cJSON_GetObjectItem(pTask, "requestIp") ? cJSON_GetObjectItem(pTask, "requestIp")->valuestring : "";
+									stTask.taskInfo.strTaskUseType = cJSON_GetObjectItem(pTask, "taskUseType") ? cJSON_GetObjectItem(pTask, "taskUseType")->valuestring : "";
+									stTask.taskInfo.nDeviceId = cJSON_GetObjectItem(pTask, "deviceId") ? cJSON_GetObjectItem(pTask, "deviceId")->valueint : -1;
+									stTask.taskInfo.strDiffTaskInstanceFlag = cJSON_GetObjectItem(pTask, "diffTaskInstanceFlag") ? cJSON_GetObjectItem(pTask, "diffTaskInstanceFlag")->valuestring : "";
+									stTask.taskInfo.strTaskType = cJSON_GetObjectItem(pTask, "taskType") ? cJSON_GetObjectItem(pTask, "taskType")->valuestring : "";
+									stTask.taskInfo.nInstanceId = cJSON_GetObjectItem(pTask, "instanceId") ? cJSON_GetObjectItem(pTask, "instanceId")->valueint : -1;
+									stTask.taskInfo.strProgress = cJSON_GetObjectItem(pTask, "progress") ? cJSON_GetObjectItem(pTask, "progress")->valuestring : "";
+									stTask.taskInfo.strStartTime = cJSON_GetObjectItem(pTask, "startTime") ? cJSON_GetObjectItem(pTask, "startTime")->valuestring : "";
+									stTask.taskInfo.strStopTime = cJSON_GetObjectItem(pTask, "stopTime") ? cJSON_GetObjectItem(pTask, "stopTime")->valuestring : "";
+									stTask.taskInfo.strTaskName = cJSON_GetObjectItem(pTask, "taskName") ? cJSON_GetObjectItem(pTask, "taskName")->valuestring : "";
+									stTask.taskInfo.Id = cJSON_GetObjectItem(pTask, "id") ? cJSON_GetObjectItem(pTask, "id")->valueint : -1;
+									stTask.taskInfo.fd = cJSON_GetObjectItem(pTask, "fd") ? cJSON_GetObjectItem(pTask, "fd")->valueint : -1;
+									stTask.taskInfo.nTaskId = cJSON_GetObjectItem(pTask, "taskId") ? cJSON_GetObjectItem(pTask, "taskId")->valueint : -1;
+									//stTask.taskInfo.strTaskId = cJSON_GetObjectItem(pTask, "taskId") ? cJSON_GetObjectItem(pTask, "taskId")->valuestring : "0";
 									// emailÆäʵ¿ÉºöÂÔ;
 									cJSON *pEmals = cJSON_GetObjectItem(pTask, "emails");
 									if ( pEmals )
@@ -454,7 +454,7 @@ SATHTTP_API int Heartbeat(std::string url, const SATHTTP::STHeartbeatReq &stHear
 											if ( pEmail )
 											{
 												std::string email = pEmail->valuestring;
-												stTask.vtEmails.push_back(email);
+												stTask.taskInfo.vtEmails.push_back(email);
 											}
 										}
 									}

+ 16 - 11
SATHTTP/SATHTTP/SATHTTP.h

@@ -131,11 +131,11 @@ namespace SATHTTP{
 	typedef struct __ST_CASE__
 	{		
 		int _nCaseStep;
-		std::string strIndex;
-		std::string strCaseName;
-		std::string strMainFilePath;
-		std::string strId;
-		std::string strCaseType;
+		std::string strIndex;			// 用例执行顺序编号(在一个任务中,用例是有执行顺序的);
+		std::string strCaseName;		// 用例名称(脚本名);
+		std::string strMainFilePath;	// 用例下载地址;
+		std::string strId;				// 用例ID;
+		std::string strCaseType;		// 用例类型(暂时只有Python类型);
 		// 执行器对象;
 		void *_pExcutor;
 		// Python子进程ID;
@@ -145,9 +145,9 @@ namespace SATHTTP{
 		// 执行结果;
 		int _nExecutionResult;
 		// 脚本保存路径;
-		std::string _strFileDir;	// 脚本保存的路径;
-		std::string _strFileName;	// 脚本文件名(无扩展名后缀);
-		std::string _strScriptPath;	// 脚本完整文件名(_strFileDir + _strFileName + ".py");
+		std::string _strFileDir;		// 脚本保存的路径;
+		std::string _strFileName;		// 脚本文件名(无扩展名后缀);
+		std::string _strScriptPath;		// 脚本完整文件名(_strFileDir + _strFileName + ".py");
 		// 执行开始时间;
 		ULONGLONG _ulStartTickCount;
 		std::string _strStartTime;
@@ -208,7 +208,7 @@ namespace SATHTTP{
 		std::vector<STCase> vtCases;
 	}STJob, *pSTJob;
 
-	typedef struct __ST_TASK__
+	typedef struct __ST_TASKINFO__
 	{
 		// 任务Case用例是否支持并发;
 		bool _bConcurrent; 
@@ -235,16 +235,21 @@ namespace SATHTTP{
 		int fd;
 		int nTaskId;
 		//std::string strTaskId;
-		STJob Job;
 		// 任务日志;
 		std::string _strTaskLog;
-		__ST_TASK__() {
+		__ST_TASKINFO__() {
 			_bConcurrent = false;
 			// 0表示未执行;1表示执行中;2表示执行完毕;
 			_nExecutionState = UNEXECUTED;
 			// 默认成功;
 			_nExecutionResult = SUCCESS;
 		}
+	}STTaskInfo, *pSTTaskInfo;
+
+	typedef struct __ST_TASK__
+	{
+		STTaskInfo	taskInfo;
+		STJob		Job;
 	}STTask, *pSTTask;
 
 	// SAT心跳返回结果;