refactor: update healthcheck command to use wget and reduce shutdown timeout from 10 to 5 seconds

This commit is contained in:
Tudor Stanciu 2025-10-04 02:57:09 +03:00
parent edb38f034e
commit 0b3e37926a
2 changed files with 6 additions and 6 deletions

View File

@ -51,8 +51,8 @@ ENV APP_VERSION=${APP_VERSION} \
GIT_REVISION=${GIT_REVISION} \
NODE_ENV=production
# Install dumb-init for proper signal handling
RUN apk add --no-cache dumb-init
# Install dumb-init for proper signal handling and wget for healthcheck
RUN apk add --no-cache dumb-init wget
# Create app directory
WORKDIR /app
@ -92,8 +92,8 @@ USER bitip
EXPOSE 5172
# Health check
HEALTHCHECK --interval=60s --timeout=3s --start-period=20s --retries=3 \
CMD node -e "require('http').get('http://localhost:5172/api/health', (res) => { process.exit(res.statusCode === 200 ? 0 : 1) }).on('error', () => { process.exit(1) })"
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:5172/api/health || exit 1
# Start the application
ENTRYPOINT ["dumb-init", "--"]

View File

@ -136,11 +136,11 @@ const gracefulShutdown = async (signal: string): Promise<void> => {
}
});
// Force close after 10 seconds
// Force close after 5 seconds
setTimeout(() => {
logger.error('Forced shutdown after timeout');
process.exit(1);
}, 10000);
}, 5000);
};
process.on('SIGTERM', () => gracefulShutdown('SIGTERM'));