|
|
|
@ -8,6 +8,8 @@ import java.io.IOException; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
import com.inspect.analysis.domain.AnalyseLog; |
|
|
|
import com.inspect.analysis.service.IAnalyseLogService; |
|
|
|
import com.inspect.base.core.constant.AlgConstants; |
|
|
|
import com.inspect.base.core.constant.RedisConst; |
|
|
|
import com.inspect.base.core.utils.DateUtils; |
|
|
|
@ -44,6 +46,9 @@ public class AnalyseRequestServiceImpl implements IAnalyseRequestService { |
|
|
|
@Resource |
|
|
|
private DelayQueueService<AnalyseRequest> delayQueueService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private IAnalyseLogService analysisLogService; |
|
|
|
|
|
|
|
//qinyl |
|
|
|
public void sendRequest(AnalyseRequest analyseReq, String[] typeList, boolean isFilter) throws IOException { |
|
|
|
final long requestTimeout = 1L; |
|
|
|
@ -124,10 +129,35 @@ public class AnalyseRequestServiceImpl implements IAnalyseRequestService { |
|
|
|
delayQueueService.submitRequest(AnalyseConstants.ALGORITHM_REQUEST_DELAY_QUEUE, analyseReq, requestTimeout, TimeUnit.DAYS); |
|
|
|
} |
|
|
|
|
|
|
|
if (!retryDelegate.callRemoteAnalyseService(analyseReq)) { |
|
|
|
log.info("FINALLY FAIL CALL REMOTE ANALYSE SERVICE, requestId: {}, taskPatrolId: {}", |
|
|
|
if (retryDelegate.callRemoteAnalyseService(analyseReq)) { |
|
|
|
log.info("CALL_REMOTE_ANALYSE SUCCESS, requestId: {}, taskPatrolId: {}", |
|
|
|
analyseReq.getRequestId(), |
|
|
|
analyseReq.getTaskPatrolId()); |
|
|
|
|
|
|
|
final String objectId = analyseReq.getObjectList() != null && !analyseReq.getObjectList().isEmpty() |
|
|
|
? analyseReq.getObjectList().get(0).getObjectId() : "00000000"; |
|
|
|
analysisLogService.log( |
|
|
|
new AnalyseLog(("远端算法服务器收到请求"), |
|
|
|
AnalyseConstants.ANALYSE_LOG_TYPE_SEND, |
|
|
|
analyseReq.getTaskPatrolId(), |
|
|
|
analyseReq.isFilter() ? "1" : "0", |
|
|
|
requestId, |
|
|
|
objectId, |
|
|
|
requestUrl)); |
|
|
|
} else { |
|
|
|
log.info("CALL_REMOTE_ANALYSE RETRYABLE FAIL, requestId: {}, taskPatrolId: {}", |
|
|
|
analyseReq.getRequestId(), |
|
|
|
analyseReq.getTaskPatrolId()); |
|
|
|
final String objectId = analyseReq.getObjectList() != null && !analyseReq.getObjectList().isEmpty() |
|
|
|
? analyseReq.getObjectList().get(0).getObjectId() : "00000000"; |
|
|
|
analysisLogService.log( |
|
|
|
new AnalyseLog(analyseReq.isFilter() ? ("初筛远程服务器掉线") : ("大模型远程服务器掉线"), |
|
|
|
AnalyseConstants.ANALYSE_LOG_TYPE_OFFLINE, |
|
|
|
analyseReq.getTaskPatrolId(), |
|
|
|
analyseReq.isFilter() ? "1" : "0", |
|
|
|
requestId, |
|
|
|
objectId, |
|
|
|
requestUrl)); |
|
|
|
throw new IOException("Remote analyse service failed"); |
|
|
|
} |
|
|
|
} |
|
|
|
|