From ee8a5164d73204e524527d82335fce16d91bc26e Mon Sep 17 00:00:00 2001 From: Bram Date: Mon, 7 Jul 2025 13:05:06 +0200 Subject: [PATCH] update healtcheck --- Dockers/puppeteer-healthcheck/healthcheck.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Dockers/puppeteer-healthcheck/healthcheck.py b/Dockers/puppeteer-healthcheck/healthcheck.py index 40614d7..cb3e7b0 100644 --- a/Dockers/puppeteer-healthcheck/healthcheck.py +++ b/Dockers/puppeteer-healthcheck/healthcheck.py @@ -9,6 +9,7 @@ import time import logging import requests import docker +import json from urllib.parse import quote from datetime import datetime @@ -67,7 +68,7 @@ class PuppeteerHealthcheck: try: # Construct the URL with the test URL as a parameter encoded_test_url = quote(self.test_url, safe='') - url = f"{self.base_url}/?url={encoded_test_url}" + url = f"{self.base_url}/?url={encoded_test_url}&skipCache=true" headers = { 'x-api-key': self.api_key, @@ -84,8 +85,21 @@ class PuppeteerHealthcheck: ) if response.status_code == 200: - logger.info("Health check passed - API is responding correctly") - return True + # Check if the response body indicates an error + try: + response_data = response.json() + if response_data.get('status') == 'error': + logger.warning(f"Health check failed - API returned status: error") + logger.warning(f"Response: {response.text[:200]}...") + return False + else: + logger.info("Health check passed - API is responding correctly") + return True + except json.JSONDecodeError: + # If response is not JSON, treat as success (backward compatibility) + logger.info("Health check passed - API is responding correctly (non-JSON response)") + return True + else: logger.warning(f"Health check failed - Status code: {response.status_code}") logger.warning(f"Response: {response.text[:200]}...")