import { dirname, extname, join } from 'node:path'
import { fileURLToPath } from 'node:url'
-import { FixedClusterPool, availableParallelism } from 'poolifier'
+
+import { availableParallelism, FixedClusterPool } from 'poolifier'
+
import type { ClusterWorkerData, ClusterWorkerResponse } from './types.js'
const fastifyWorkerFile = join(
Math.round(availableParallelism() / 2),
fastifyWorkerFile,
{
+ enableEvents: false,
onlineHandler: () => {
pool
.execute({
: Math.round(availableParallelism() / 4),
enableTasksQueue: true,
tasksQueueOptions: {
- concurrency: 8
+ concurrency: 8,
},
errorHandler: (e: Error) => {
console.error('Thread worker error', e)
- }
+ },
})
.then(response => {
if (response.status) {
console.info(
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
- `Fastify is listening in cluster worker on port ${response.port}`
+ `Fastify is listening in cluster worker on port ${response.port?.toString()}`
)
}
- return null
+ return undefined
})
- .catch(error => {
+ .catch((error: unknown) => {
console.error('Fastify failed to start in cluster worker:', error)
})
},
errorHandler: (e: Error) => {
console.error('Cluster worker error:', e)
- }
+ },
}
)