fix(测试计划): 解决多个节点执行测试计划任务出现死锁问题
This commit is contained in:
parent
1726b95ae3
commit
1acdbd2e45
|
@ -159,6 +159,7 @@ public class MsScenario extends MsTestElement {
|
|||
|
||||
if (CollectionUtils.isNotEmpty(hashTree)) {
|
||||
for (MsTestElement el : hashTree) {
|
||||
if (el != null) {
|
||||
el.setParent(this);
|
||||
el.setMockEnvironment(this.isMockEnvironment());
|
||||
if (this.isEnvironmentEnable()) {
|
||||
|
@ -168,6 +169,7 @@ public class MsScenario extends MsTestElement {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 添加全局后置
|
||||
this.setGlobProcessor(this.isEnvironmentEnable() ? newConfig : config, scenarioTree, false);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ package io.metersphere.api.jmeter;
|
|||
import io.metersphere.api.exec.queue.PoolExecBlockingQueueUtil;
|
||||
import io.metersphere.api.service.ApiExecutionQueueService;
|
||||
import io.metersphere.api.service.TestResultService;
|
||||
import io.metersphere.commons.constants.ApiRunMode;
|
||||
import io.metersphere.commons.utils.CommonBeanFactory;
|
||||
import io.metersphere.dto.ResultDTO;
|
||||
import io.metersphere.jmeter.MsExecListener;
|
||||
|
@ -22,13 +21,6 @@ public class APISingleResultListener extends MsExecListener {
|
|||
LoggerUtil.info("处理单条执行结果报告【" + dto.getReportId() + " 】,资源【 " + dto.getTestId() + " 】");
|
||||
dto.setConsole(FixedCapacityUtils.getJmeterLogger(dto.getReportId()));
|
||||
CommonBeanFactory.getBean(TestResultService.class).saveResults(dto);
|
||||
|
||||
// 更新报告最后接收到请求的时间
|
||||
if (StringUtils.equalsAny(dto.getRunMode(), ApiRunMode.SCENARIO.name(),
|
||||
ApiRunMode.SCENARIO_PLAN.name(), ApiRunMode.SCHEDULE_SCENARIO_PLAN.name(),
|
||||
ApiRunMode.SCHEDULE_SCENARIO.name(), ApiRunMode.JENKINS_SCENARIO_PLAN.name())) {
|
||||
CommonBeanFactory.getBean(TestResultService.class).editReportTime(dto);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -610,8 +610,9 @@ public class TestPlanReportService {
|
|||
try {
|
||||
//更新TestPlan状态为完成
|
||||
TestPlanWithBLOBs testPlan = testPlanMapper.selectByPrimaryKey(report.getTestPlanId());
|
||||
if (testPlan != null) {
|
||||
testPlanService.checkStatus(testPlan);
|
||||
if (testPlan != null && !StringUtils.equals(testPlan.getStatus(), TestPlanStatus.Completed.name())) {
|
||||
testPlan.setStatus(TestPlanStatus.Completed.name());
|
||||
testPlanService.editTestPlan(testPlan);
|
||||
}
|
||||
if (testPlan != null && StringUtils.equalsAny(report.getTriggerMode(),
|
||||
ReportTriggerMode.MANUAL.name(),
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
alter table api_execution_queue_detail add index queue_id_test_id_index(queue_id,test_id);
|
Loading…
Reference in New Issue