Add additional timeouts to the health check
This commit is contained in:
@@ -11,6 +11,9 @@ dotenv.config();
|
||||
let currentSystem = undefined;
|
||||
let crashDetectionInterval; // Variable to store the crash detection interval ID
|
||||
|
||||
// Sleep utility to add delays between retries
|
||||
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
||||
|
||||
/**
|
||||
* Checks the health of the OP25 web portal by making an HTTP HEAD request.
|
||||
* If the portal does not respond or there is an issue, retries a specified number of times.
|
||||
@@ -25,7 +28,7 @@ const checkServiceHealth = async () => {
|
||||
try {
|
||||
log.INFO("Checking OP25 web portal health...");
|
||||
// Perform an HTTP HEAD request to the web portal with a 5-second timeout
|
||||
await axios.head('http://localhost:8081', { timeout: 5000 });
|
||||
await axios({ method: "get", url: 'http://localhost:8081', timeout: 5000 });
|
||||
log.INFO("Web portal is healthy.");
|
||||
} catch (error) {
|
||||
if (error.code === 'ECONNABORTED') {
|
||||
@@ -40,10 +43,13 @@ const checkServiceHealth = async () => {
|
||||
|
||||
// Retry mechanism
|
||||
const retryAttempts = 3;
|
||||
const delayBetweenRetries = 3000; // 3 seconds delay
|
||||
|
||||
for (let i = 1; i <= retryAttempts; i++) {
|
||||
log.INFO(`Retrying to check web portal health... Attempt ${i}/${retryAttempts}`);
|
||||
try {
|
||||
await axios.head('http://localhost:8081', { timeout: 5000 });
|
||||
await sleep(delayBetweenRetries); // Add delay before retrying
|
||||
await axios({ method: "get", url: 'http://localhost:8081', timeout: 5000 });
|
||||
log.INFO("Web portal is healthy on retry.");
|
||||
return;
|
||||
} catch (retryError) {
|
||||
|
||||
Reference in New Issue
Block a user