소스 검색

fixed task loss when priority queue is full

ehlxr 1 년 전
부모
커밋
500e79927b
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      etl-core/src/main/java/com/tzld/crawler/etl/mq/EtlMQConsumer.java

+ 2 - 1
etl-core/src/main/java/com/tzld/crawler/etl/mq/EtlMQConsumer.java

@@ -122,7 +122,8 @@ public class EtlMQConsumer {
 
 
                 messages.forEach(message -> {
                 messages.forEach(message -> {
                     logPoolInfo();
                     logPoolInfo();
-                    if (priorityPool.getQueue().remainingCapacity() > 0) {
+                    if (priorityPool.getQueue().size() > 10) {
+                        // if (priorityPool.getQueue().remainingCapacity() > 0) {
                         log.info("Receive message: {} from topic: {}, group: {}", message, topic, groupId);
                         log.info("Receive message: {} from topic: {}, group: {}", message, topic, groupId);
                         CrawlerEtlParam param = JSONObject.parseObject(message.getMessageBodyString(), CrawlerEtlParam.class);
                         CrawlerEtlParam param = JSONObject.parseObject(message.getMessageBodyString(), CrawlerEtlParam.class);
                         param.setMessageId(message.getMessageId());
                         param.setMessageId(message.getMessageId());