Browse Source

fix: oj基础服务修改为内部地址

haha 4 years ago
parent
commit
54e63fa0d4

+ 1 - 1
seec-oj-server/pom.xml

@@ -48,7 +48,7 @@
             <artifactId>hibernate-core</artifactId>
             <version>5.4.21.Final</version>
         </dependency>
-        
+
         <dependency>
             <groupId>com.nju.edu</groupId>
             <artifactId>PaasMonitor-client</artifactId>

+ 12 - 5
seec-oj-server/src/main/java/cn/seecoder/ojserver/controller/JudgeController.java

@@ -5,6 +5,7 @@ import cn.seecoder.ojserver.service.JudgeService;
 import cn.seecoder.ojserver.web.Response;
 import com.nju.edu.paasMonitorClient.MonitorClient;
 import com.nju.edu.paasMonitorClient.entity.Call;
+import com.nju.edu.paasMonitorClient.entity.Error;
 import com.nju.edu.paasMonitorCommon.enums.SeecSystem;
 import org.springframework.web.bind.annotation.*;
 
@@ -24,10 +25,16 @@ public class JudgeController {
 
     @PostMapping("/code")
     public Response judgeCode(@RequestParam(value = "problemId") Integer problemId, @RequestBody CodeJudgeVO codeJudgeVO) {
-        Call call = MonitorClient.createCall(SeecSystem.CODER,"ojtest","/api/judge/code");
-        call.start();
-        Response res = Response.buildSuccess(judgeService.judgeCode(problemId, codeJudgeVO));
-        call.end();
-        return res;
+        Call call = MonitorClient.createCall(SeecSystem.CODER,"ojtest1","/api/judge/code");
+        try{
+            call.start();
+            return Response.buildSuccess(judgeService.judgeCode(problemId, codeJudgeVO));
+        }catch (Exception e){
+            MonitorClient.logError(SeecSystem.CODER,"ojtest1","/api/judge/code",e);
+            call.fail();
+            throw e;
+        }finally {
+            call.end();
+        }
     }
 }

+ 6 - 0
seec-oj-server/src/main/java/cn/seecoder/ojserver/manager/JudgeManager.java

@@ -4,6 +4,9 @@ import cn.seecoder.codejudge.client.JudgeDTO;
 import cn.seecoder.codejudge.client.JudgeResult;
 import cn.seecoder.ojserver.exception.ThirdPartyServiceException;
 import cn.seecoder.ojserver.utils.thirdparty.CodeJudgeThirdPartyService;
+import com.nju.edu.paasMonitorClient.MonitorClient;
+import com.nju.edu.paasMonitorClient.entity.Call;
+import com.nju.edu.paasMonitorCommon.enums.SeecSystem;
 import org.springframework.stereotype.Service;
 
 import java.util.Optional;
@@ -20,7 +23,10 @@ public class JudgeManager {
     }
 
     public JudgeResult judgeCodeQuestionAnswers(JudgeDTO judgeDTO) {
+        Call call = MonitorClient.createCall(SeecSystem.CODER,"ojtest1","callJudgeCode");
+        call.start();
         Optional<JudgeResult> res = codeJudgeThirdPartyService.judgeCodeQuestionAnswers(judgeDTO);
+        call.end();
         if (res.isPresent()) {
             return res.get();
         } else {

+ 6 - 2
seec-oj-server/src/main/java/cn/seecoder/ojserver/service/impl/JudgeServiceImpl.java

@@ -9,6 +9,9 @@ import cn.seecoder.ojserver.manager.JudgeManager;
 import cn.seecoder.ojserver.manager.QuestionManager;
 import cn.seecoder.ojserver.model.vo.CodeJudgeVO;
 import cn.seecoder.ojserver.service.JudgeService;
+import com.nju.edu.paasMonitorClient.MonitorClient;
+import com.nju.edu.paasMonitorClient.entity.Call;
+import com.nju.edu.paasMonitorCommon.enums.SeecSystem;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -28,10 +31,11 @@ public class JudgeServiceImpl implements JudgeService {
     @Override
     public JudgeResult judgeCode(Integer questionId, CodeJudgeVO codeJudgeVO) {
         try {
+            Call call = MonitorClient.createCall(SeecSystem.CODER,"ojtest1","buildJudge");
+            call.start();
             JudgeDTO judgeDTO = new JudgeDTO();
             judgeDTO.setCode(codeJudgeVO.getCode());
             judgeDTO.setLanguage(codeJudgeVO.getLanguage());
-
             Problem problem = questionManager.getProblemById(questionId).get();
             List<TestCase> testCaseList = questionManager.getTestCaseByProblemId(questionId);
             judgeDTO.setMemoryLimit(problem.getMemoryLimit());
@@ -40,10 +44,10 @@ public class JudgeServiceImpl implements JudgeService {
             List<String> outputList = testCaseList.stream().map(TestCase::getOutput).collect(Collectors.toList());
             judgeDTO.setInputList(inputList);
             judgeDTO.setOutputList(outputList);
+            call.end();
 //            judgeDTO.setInputList(question.getInputOutputMapping().entrySet().stream().map(Map.Entry<String, String>::getKey).collect(Collectors.toList()));
 //            judgeDTO.setOutputList(question.getInputOutputMapping().entrySet().stream().map(Map.Entry<String, String>::getValue).collect(Collectors.toList()));
 
-
             return judgeManager.judgeCodeQuestionAnswers(judgeDTO);
         } catch (ThirdPartyServiceException exception) {
             throw exception;

+ 1 - 1
seec-oj-server/src/main/resources/application-prod.yml

@@ -19,6 +19,6 @@ objective-judgement-client:
   host: https://seecoder-judgement.seec.seecoder.cn
 
 code-judgement-client:
-  host: https://oj.seec.seecoder.cn
+  host: http://environment-22-68.seec.svc.cluster.local:8080