| |
|
| |
|
| |
|
| | const https = require('https');
|
| | const http = require('http');
|
| |
|
| | const SITE_URL = process.env.SITE_URL || 'https://softedge.onrender.com';
|
| | const HEALTH_ENDPOINT = '/health.php';
|
| | const INTERVAL_MINUTES = 4;
|
| |
|
| | function pingHealthEndpoint() {
|
| | const url = new URL(HEALTH_ENDPOINT, SITE_URL);
|
| | const client = url.protocol === 'https:' ? https : http;
|
| |
|
| | const options = {
|
| | hostname: url.hostname,
|
| | port: url.port,
|
| | path: url.pathname,
|
| | method: 'GET',
|
| | headers: {
|
| | 'User-Agent': 'SoftEdge-KeepAlive/1.0',
|
| | 'Accept': 'application/json'
|
| | }
|
| | };
|
| |
|
| | const req = client.request(options, (res) => {
|
| | let data = '';
|
| |
|
| | res.on('data', (chunk) => {
|
| | data += chunk;
|
| | });
|
| |
|
| | res.on('end', () => {
|
| | try {
|
| | const health = JSON.parse(data);
|
| | console.log(`[${new Date().toISOString()}] Health check: ${health.status} - Uptime: ${health.uptime}s`);
|
| | } catch (e) {
|
| | console.log(`[${new Date().toISOString()}] Health check response received`);
|
| | }
|
| | });
|
| | });
|
| |
|
| | req.on('error', (err) => {
|
| | console.error(`[${new Date().toISOString()}] Health check failed:`, err.message);
|
| | });
|
| |
|
| | req.setTimeout(10000, () => {
|
| | req.destroy();
|
| | console.error(`[${new Date().toISOString()}] Health check timeout`);
|
| | });
|
| |
|
| | req.end();
|
| | }
|
| |
|
| |
|
| | console.log(`Starting SoftEdge Keep-Alive service`);
|
| | console.log(`Pinging ${SITE_URL}${HEALTH_ENDPOINT} every ${INTERVAL_MINUTES} minutes`);
|
| | console.log(`Press Ctrl+C to stop`);
|
| |
|
| |
|
| | pingHealthEndpoint();
|
| |
|
| |
|
| | const intervalMs = INTERVAL_MINUTES * 60 * 1000;
|
| | setInterval(pingHealthEndpoint, intervalMs);
|
| |
|
| |
|
| | process.on('SIGINT', () => {
|
| | console.log(`\n[${new Date().toISOString()}] SoftEdge Keep-Alive service stopped`);
|
| | process.exit(0);
|
| | });
|
| |
|
| | process.on('SIGTERM', () => {
|
| | console.log(`\n[${new Date().toISOString()}] SoftEdge Keep-Alive service terminated`);
|
| | process.exit(0);
|
| | });
|
| |
|