diff --git a/src/main/java/org/swisspush/redisques/handler/GetQueuesItemsCountHandler.java b/src/main/java/org/swisspush/redisques/handler/GetQueuesItemsCountHandler.java index 35c83411..923dc315 100644 --- a/src/main/java/org/swisspush/redisques/handler/GetQueuesItemsCountHandler.java +++ b/src/main/java/org/swisspush/redisques/handler/GetQueuesItemsCountHandler.java @@ -69,8 +69,13 @@ public GetQueuesItemsCountHandler( @Override public void handle(AsyncResult handleQueues) { if (!handleQueues.succeeded()) { - log.warn("Concealed error", exceptionFactory.newException(handleQueues.cause())); - event.reply(new JsonObject().put(STATUS, ERROR)); + Throwable ex = handleQueues.cause(); + String exmsg = ex == null ? null : ex.getMessage(); + int failureCode = 500; + if (exmsg != null && exmsg.contains("Redis waiting queue is full")) { + failureCode = 429; + } + event.reply(exceptionFactory.newReplyException(failureCode, null, ex)); return; } var ctx = new Object(){