267e80e2ec
- Refactor server initialization to separate concerns and improve error handling. - Implement centralized environment validation using Zod. - Introduce database, Redis, and queue lifecycle management. - Add health check endpoints for liveness and readiness. - Enhance error handling middleware for better response structure. - Implement rate limiting for API endpoints. - Add request ID middleware for traceability. - Create Sequelize CLI configuration and baseline migration for schema management. - Establish CI workflow with Gitea for testing and syntax checks. - Document foundational changes and migration strategy in PHASE_0_FOUNDATION_STABILIZATION.md. - Add Docker Compose configuration for local development and testing. - Implement unit and integration tests for critical functionality.
15 lines
456 B
JavaScript
15 lines
456 B
JavaScript
const redis = require("./redisClient");
|
|
|
|
const initializeRedis = async () => {
|
|
if (redis.status === "wait") await redis.connect();
|
|
if (redis.status !== "ready") await redis.ping();
|
|
};
|
|
const checkRedis = async () => {
|
|
try { return (await redis.ping()) === "PONG"; } catch (_error) { return false; }
|
|
};
|
|
const closeRedis = async () => {
|
|
if (redis.status !== "end") await redis.quit();
|
|
};
|
|
|
|
module.exports = { initializeRedis, checkRedis, closeRedis };
|