Spaces:
Sleeping
Sleeping
| import app from "./app"; | |
| import { logger } from "./lib/logger"; | |
| const rawPort = process.env["PORT"]; | |
| if (!rawPort) { | |
| throw new Error( | |
| "PORT environment variable is required but was not provided.", | |
| ); | |
| } | |
| const port = Number(rawPort); | |
| if (Number.isNaN(port) || port <= 0) { | |
| throw new Error(`Invalid PORT value: "${rawPort}"`); | |
| } | |
| app.listen(port, (err) => { | |
| if (err) { | |
| logger.error({ err }, "Error listening on port"); | |
| process.exit(1); | |
| } | |
| logger.info({ port }, "Server listening"); | |
| // Phase 5: Start daily deadline checking & scheduling | |
| import("./lib/deadline-checker.js") | |
| .then(async ({ checkDeadlines, scheduleDailyCheck }) => { | |
| logger.info("Initializing Phase 5 Deadline Checker..."); | |
| try { | |
| const sent = await checkDeadlines(); | |
| logger.info({ sent }, "Startup deadline check completed."); | |
| } catch (checkErr) { | |
| logger.error({ err: checkErr }, "Startup deadline check failed"); | |
| } | |
| scheduleDailyCheck(); | |
| }) | |
| .catch((importErr) => { | |
| logger.error({ err: importErr }, "Failed to import deadline-checker module"); | |
| }); | |
| }); | |