123
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package com.ruoyi.consumer;
|
||||
|
||||
import com.ruoyi.cai.mq.AmqpWsProducer;
|
||||
import com.ruoyi.cai.mq.constant.ws.RoomCheckDelayWsMqConstant;
|
||||
import com.ruoyi.cai.ws.job.JobResp;
|
||||
import com.ruoyi.job.RoomCheckJobService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class RoomCheckDelayMqConsumer {
|
||||
@Autowired
|
||||
private AmqpWsProducer amqpWsProducer;
|
||||
@Autowired
|
||||
private RoomCheckJobService roomCheckJobService;
|
||||
|
||||
@RabbitListener(queues = RoomCheckDelayWsMqConstant.QUEUE_NAME
|
||||
,containerFactory = "customContainerFactory")
|
||||
public void sendRoomCheck(String roomIdStr) {
|
||||
log.info("开始执行房间检测: roomId={}",roomIdStr);
|
||||
try {
|
||||
Long roomId = Long.valueOf(roomIdStr);
|
||||
JobResp resp = roomCheckJobService.checkRoom(roomId);
|
||||
if(resp.isNextCreateJob()){
|
||||
// 1分钟后继续执行
|
||||
log.info("1分钟后继续执行房间检测: roomId={}",roomIdStr);
|
||||
amqpWsProducer.sendRoomCheckDelay(roomIdStr,60);
|
||||
}
|
||||
}catch (Exception e){
|
||||
log.error("每分钟定时检测房间失败! roomId={}",roomIdStr);
|
||||
}finally {
|
||||
log.info("结束执行房间检测: roomId={}",roomIdStr);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user