50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
const http = require('http');
|
|
|
|
console.log(`[${new Date().toISOString()}] Backend health check starting...`);
|
|
|
|
const options = {
|
|
hostname: 'localhost',
|
|
port: 5000,
|
|
path: '/health',
|
|
method: 'GET',
|
|
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', (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(); |