26 lines
758 B
TypeScript
26 lines
758 B
TypeScript
/**
|
|
* Next.js instrumentation — runs once on server startup.
|
|
* Starts background workers and initial filesystem scan.
|
|
*/
|
|
|
|
export async function register() {
|
|
// Only run on the server side
|
|
if (process.env.NEXT_RUNTIME === 'nodejs') {
|
|
const { startWorkers } = await import('@/lib/jobs/workers');
|
|
const { enqueueScan } = await import('@/lib/jobs/queue');
|
|
|
|
// Start background workers
|
|
startWorkers();
|
|
|
|
// Trigger initial scan on startup
|
|
setTimeout(async () => {
|
|
try {
|
|
await enqueueScan();
|
|
console.log('[Startup] Initial filesystem scan enqueued');
|
|
} catch (err) {
|
|
console.error('[Startup] Failed to enqueue initial scan:', err);
|
|
}
|
|
}, 5000); // Wait 5s for database to be ready
|
|
}
|
|
}
|