Files
FACULTATE-LICENTA/User/src/workers/network_scanner_worker.ts
T

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
}