xargana-srv/api.js

44 lines
1.1 KiB
JavaScript
Raw Normal View History

2025-04-27 20:21:36 +02:00
// API Server entry point
const path = require('path');
require('dotenv').config();
// Global variable to hold our service
let apiServer;
async function startServer() {
try {
// Start API server
console.log('Starting API server...');
apiServer = require('./api/server');
console.log('API server started successfully');
console.log('API server fully operational');
} catch (error) {
console.error('Error starting API server:', error);
process.exit(1);
}
}
// Handle graceful shutdown
async function shutdown(signal) {
console.log(`Received ${signal}. Shutting down API server gracefully...`);
// Add API server shutdown logic here if needed
// For example: apiServer.close()
console.log('API server shutdown complete');
process.exit(0);
}
// Register shutdown handlers
process.on('SIGINT', () => shutdown('SIGINT'));
process.on('SIGTERM', () => shutdown('SIGTERM'));
// Catch uncaught exceptions
process.on('uncaughtException', (error) => {
console.error('Uncaught exception in API server:', error);
process.exit(1);
});
// Start server
startServer();