update health checks

This commit is contained in:
Jake Kasper
2025-08-21 10:01:57 -05:00
parent cebfbd9454
commit be5729294b
2 changed files with 62 additions and 18 deletions

View File

@@ -1,28 +1,50 @@
const http = require('http');
console.log(`[${new Date().toISOString()}] Backend health check starting...`);
const options = {
hostname: 'localhost',
port: 5000,
path: '/health',
method: 'GET',
timeout: 2000
timeout: 5000
};
console.log(`[${new Date().toISOString()}] Checking: http://${options.hostname}:${options.port}${options.path}`);
const req = http.request(options, (res) => {
console.log(`[${new Date().toISOString()}] Response status: ${res.statusCode}`);
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
console.log(`[${new Date().toISOString()}] Response body:`, data);
if (res.statusCode === 200) {
console.log(`[${new Date().toISOString()}] Health check PASSED`);
process.exit(0);
} else {
console.log(`[${new Date().toISOString()}] Health check FAILED - bad status code`);
process.exit(1);
}
});
});
req.on('error', () => {
req.on('error', (err) => {
console.log(`[${new Date().toISOString()}] Health check ERROR:`, err.message);
console.log(`[${new Date().toISOString()}] Error code:`, err.code);
console.log(`[${new Date().toISOString()}] Error details:`, err);
process.exit(1);
});
req.on('timeout', () => {
console.log(`[${new Date().toISOString()}] Health check TIMEOUT after ${options.timeout}ms`);
req.destroy();
process.exit(1);
});
req.setTimeout(options.timeout);
req.end();

View File

@@ -1,33 +1,55 @@
const http = require('http');
console.log(`[${new Date().toISOString()}] Frontend health check starting...`);
const options = {
hostname: 'localhost',
port: 3000,
path: '/',
method: 'GET',
timeout: 3000
timeout: 8000
};
console.log(`[${new Date().toISOString()}] Checking: http://${options.hostname}:${options.port}${options.path}`);
const req = http.request(options, (res) => {
console.log(`[${new Date().toISOString()}] Response status: ${res.statusCode}`);
console.log(`[${new Date().toISOString()}] Response headers:`, JSON.stringify(res.headers, null, 2));
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
console.log(`[${new Date().toISOString()}] Response body length: ${data.length} bytes`);
console.log(`[${new Date().toISOString()}] Response snippet:`, data.substring(0, 200));
// Accept any 2xx or 3xx status code (React dev server might redirect)
if (res.statusCode >= 200 && res.statusCode < 400) {
console.log('Health check passed');
console.log(`[${new Date().toISOString()}] Health check PASSED`);
process.exit(0);
} else {
console.log(`Health check failed with status: ${res.statusCode}`);
console.log(`[${new Date().toISOString()}] Health check FAILED - status: ${res.statusCode}`);
process.exit(1);
}
});
});
req.on('error', (err) => {
console.log('Health check error:', err.message);
console.log(`[${new Date().toISOString()}] Health check ERROR:`, err.message);
console.log(`[${new Date().toISOString()}] Error code:`, err.code);
console.log(`[${new Date().toISOString()}] Error syscall:`, err.syscall);
console.log(`[${new Date().toISOString()}] Error address:`, err.address);
console.log(`[${new Date().toISOString()}] Error port:`, err.port);
process.exit(1);
});
req.on('timeout', () => {
console.log('Health check timeout');
console.log(`[${new Date().toISOString()}] Health check TIMEOUT after ${options.timeout}ms`);
req.destroy();
process.exit(1);
});
req.setTimeout(options.timeout);
req.end();