private static readonly startExpress = (
workerData?: WorkerData
): WorkerResponse => {
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const { port } = workerData!
const application: Express = express()
application.get('/api/factorial/:number', (req: Request, res: Response) => {
const { number } = req.params
res
- .send({ number: ExpressWorker.factorial(parseInt(number)).toString() })
+ .send({
+ number: ExpressWorker.factorial(Number.parseInt(number)).toString(),
+ })
.end()
})
+ let listenerPort: number | undefined
ExpressWorker.server = application.listen(port, () => {
+ listenerPort = (ExpressWorker.server.address() as AddressInfo).port
console.info(
- `⚡️[express server]: Express server is started in cluster worker at http://localhost:${port}/`
+ `⚡️[express server]: Express server is started in cluster worker at http://localhost:${listenerPort.toString()}/`
)
})
return {
status: true,
- port: (ExpressWorker.server.address() as AddressInfo).port
+ port: listenerPort ?? port,
}
}
super(ExpressWorker.startExpress, {
killHandler: () => {
ExpressWorker.server.close()
- }
+ },
})
}
}