38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
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
|
|
}
|