Browse Source

feat: wire scheduler lifecycle into Nitro plugin

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
main
npmrun 2 weeks ago
parent
commit
512ee6cc27
  1. 2
      .env.example
  2. 16
      server/plugins/03.scheduler.ts

2
.env.example

@ -2,3 +2,5 @@ DATABASE_URL=file:./db.sqlite
STATIC_DIR=static STATIC_DIR=static
UPLOAD_SUBDIR=upload UPLOAD_SUBDIR=upload
NITRO_PORT=3399 NITRO_PORT=3399
SCHEDULER_MAX_CONCURRENCY=5
SCHEDULER_LOG_RETENTION_DAYS=30

16
server/plugins/03.scheduler.ts

@ -0,0 +1,16 @@
import { start, stop } from "../scheduler/engine";
const MAX_CONCURRENCY = Number(process.env.SCHEDULER_MAX_CONCURRENCY) || 5;
const LOG_RETENTION_DAYS = Number(process.env.SCHEDULER_LOG_RETENTION_DAYS) || 30;
if (import.meta.dev) {
console.log("plugin: 03.scheduler");
}
export default defineNitroPlugin(async (nitroApp) => {
await start(MAX_CONCURRENCY, LOG_RETENTION_DAYS);
nitroApp.hooks.hook("close", async () => {
await stop();
});
});
Loading…
Cancel
Save