builder / instrumentation.ts
Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
391c43e verified
Raw
History Blame Contribute Delete
1.53 kB
export async function register() {
if (process.env.NEXT_RUNTIME === 'nodejs') {
try {
// Dynamic imports — avoids bundling SQLite into client
const { listDeploymentIds } = await import('@/lib/vfs/adapters/sqlite-connection');
listDeploymentIds(); // Verify SQLite is available (throws in browser mode)
const { Scheduler } = await import('@/lib/scheduler');
const { createDeploymentSchedulerTask } = await import('@/lib/scheduler/deployment-scheduler');
const scheduler = new Scheduler({ pollIntervalMs: 30000 });
scheduler.registerTask(createDeploymentSchedulerTask());
scheduler.start();
} catch (err) {
// Browser mode or SQLite not available — skip
if (process.env.ADMIN_PASSWORD) {
// Only log in server mode (ADMIN_PASSWORD indicates server deployment)
console.warn('[Scheduler] Failed to initialize:', err instanceof Error ? err.message : err);
}
}
// Rebuild the Caddy config from the deployment routing table on boot, so a
// freshly (re)deployed instance serves every existing deployment subdomain
// without waiting for the next publish to regenerate it. No-op unless
// STATIC_PROXY=true.
try {
const { regenerateInstanceCaddy } = await import('@/lib/caddy/regenerate');
await regenerateInstanceCaddy();
} catch (err) {
if (process.env.ADMIN_PASSWORD) {
console.warn('[Caddy] Startup regeneration failed:', err instanceof Error ? err.message : err);
}
}
}
}