import { parentPort } from 'worker_threads' import { NetworkScanner } from '../helpers/network_scanner' // Extract data from environment variables const udpPort = parseInt(process.env.UDP_PORT || '0', 10) const tcpPort = parseInt(process.env.TCP_PORT || '0', 10) const okPage = process.env.OK_PAGE || '' const errorPage = process.env.ERROR_PAGE || '' const databaseResetPage = process.env.DATABASE_RESET_PAGE || '' const pathToDatabaseFile = process.env.DATABASE_FILE_PATH || '' // Start the NetworkScanner instance const networkScanner = new NetworkScanner( pathToDatabaseFile, udpPort, tcpPort, okPage, errorPage, databaseResetPage, ) process.on('SIGTERM', async () => { console.log('Received SIGTERM. Cleaning up...') await cleanupAndExit() }) process.on('SIGINT', async () => { console.log('Received SIGINT. Cleaning up...') await cleanupAndExit() }) async function cleanupAndExit() { networkScanner.stopAllIntervals() console.log('Cleanup complete. Exiting.') process.exit(0) // Exit with code 0 to indicate a clean exit }