Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
422 views
in Technique[技术] by (71.8m points)

mongodb - Springboot Rest api request timeout or cancel if the request is not processed in certain period of time

I am trying to implement request timeout in Springboot Mongodb application. The flow is like this.Send startCctv request to server. The server starts the cctv and update the database field "Status" to true. Then i will call one more api say getCctvStatus() to poll the DB and check for the status field every minute. If this field is not updated to true within 10 minutes, the original request startCctv should be cancelled or timedout.

Here is the skeleton code:

//Controller class
@PostMapping("/startCctv.on/{id}")
public ResponseEntity startCctv(@PathVariable String cctvId){
  //call to service class
  startCctv(cctvId);
}

//Service class 
public void startCctv(String cctvId) {
sendReqToMainServer(cctvId);
    // main server starts the cctv for the given cctvId and updates the database field "status" to true.
}

//API to check the DB "status" field. The below api should poll the DB and check the "status" 
// field every minute. 
public boolean checkCctvStatus(String cctvId) {
    //DB query to get the status of cctv
    return cctvRepository.getCctvStatus(cctvId);
}   

//If the status is not updated to true within 10 minutes, cancel the original request           
// ie startCctv and send message to the client/user as request timed out. 

Can anyone help me to achieve this !? Thanks in advance!!!

question from:https://stackoverflow.com/questions/65641310/springboot-rest-api-request-timeout-or-cancel-if-the-request-is-not-processed-in

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...