Skip to content

Commit 1900ba8

Browse files
author
Yuriy Bezsonov
committed
feat(java-spring-ai-agents): enhance MCP gateway target status polling
1 parent 945b3a6 commit 1900ba8

1 file changed

Lines changed: 31 additions & 6 deletions

File tree

apps/java-spring-ai-agents/scripts/06-mcp-gateway.sh

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -288,13 +288,38 @@ for TARGET_NAME in backoffice holidays; do
288288
TARGET_ID=$(aws bedrock-agentcore-control list-gateway-targets \
289289
--gateway-identifier "${GATEWAY_ID}" --region ${AWS_REGION} --no-cli-pager \
290290
--query "items[?name=='${TARGET_NAME}'].targetId | [0]" --output text)
291+
292+
if [ -z "${TARGET_ID}" ] || [ "${TARGET_ID}" = "None" ]; then
293+
echo "Warning: ${TARGET_NAME} target not found, skipping"
294+
continue
295+
fi
296+
291297
echo -n "Waiting for ${TARGET_NAME}"
292-
while [ "$(aws bedrock-agentcore-control get-gateway-target \
293-
--gateway-identifier "${GATEWAY_ID}" --target-id "${TARGET_ID}" \
294-
--region ${AWS_REGION} --no-cli-pager \
295-
--query 'status' --output text)" != "READY" ]; do
296-
echo -n "."; sleep 5
297-
done && echo " READY"
298+
RETRY_COUNT=0
299+
MAX_RETRIES=60
300+
while true; do
301+
STATUS=$(aws bedrock-agentcore-control get-gateway-target \
302+
--gateway-identifier "${GATEWAY_ID}" --target-id "${TARGET_ID}" \
303+
--region ${AWS_REGION} --no-cli-pager \
304+
--query 'status' --output text 2>/dev/null || echo "ERROR")
305+
306+
if [ "${STATUS}" = "READY" ]; then
307+
echo " READY"
308+
break
309+
elif [ "${STATUS}" = "FAILED" ] || [ "${STATUS}" = "ERROR" ]; then
310+
echo " ${STATUS}"
311+
echo "Error: ${TARGET_NAME} target failed. Check the MCP runtime logs."
312+
break
313+
fi
314+
315+
echo -n "."
316+
sleep 5
317+
RETRY_COUNT=$((RETRY_COUNT + 1))
318+
if [ ${RETRY_COUNT} -ge ${MAX_RETRIES} ]; then
319+
echo " TIMEOUT (status: ${STATUS})"
320+
break
321+
fi
322+
done
298323
done
299324

300325
# Clean up backup files

0 commit comments

Comments
 (0)