30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
|
|
/**
|
||
|
|
* Next.js Instrumentation — runs once on server startup.
|
||
|
|
* https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation
|
||
|
|
*/
|
||
|
|
export async function onRequestInit() {
|
||
|
|
// no-op — required export for instrumentation file
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function register() {
|
||
|
|
// Only run on the Node.js server runtime (not edge, not build)
|
||
|
|
if (process.env.NEXT_RUNTIME === 'nodejs') {
|
||
|
|
// Retroactive document analysis: analyze all files that haven't been analyzed yet.
|
||
|
|
// Runs in background on startup, non-blocking.
|
||
|
|
import('./server/services/document-analyzer')
|
||
|
|
.then(({ analyzeAllUnanalyzed }) => {
|
||
|
|
console.log('[Startup] Starting retroactive document analysis...')
|
||
|
|
analyzeAllUnanalyzed()
|
||
|
|
.then((result) => {
|
||
|
|
console.log(
|
||
|
|
`[Startup] Document analysis complete: ${result.analyzed} analyzed, ${result.skipped} skipped, ${result.failed} failed out of ${result.total} total`
|
||
|
|
)
|
||
|
|
})
|
||
|
|
.catch((err) => {
|
||
|
|
console.warn('[Startup] Document analysis failed:', err)
|
||
|
|
})
|
||
|
|
})
|
||
|
|
.catch(() => {})
|
||
|
|
}
|
||
|
|
}
|