详细说明: - 修复了@n8n/config包的TypeScript配置错误 - 移除了不存在的jest-expect-message类型引用 - 清理了所有TypeScript构建缓存 - 更新了可行性分析文档,添加了技术实施方案 - 更新了Agent prompt文档 - 添加了会展策划工作流文档 - 包含了n8n-chinese-translation子项目 - 添加了exhibition-demo展示系统框架
39 lines
975 B
TypeScript
Executable File
39 lines
975 B
TypeScript
Executable File
import { ApplicationError } from '@n8n/errors';
|
|
import { createServer } from 'node:http';
|
|
|
|
export class HealthCheckServer {
|
|
private server = createServer((_, res) => {
|
|
res.writeHead(200);
|
|
res.end('OK');
|
|
});
|
|
|
|
async start(host: string, port: number) {
|
|
return await new Promise<void>((resolve, reject) => {
|
|
const portInUseErrorHandler = (error: NodeJS.ErrnoException) => {
|
|
if (error.code === 'EADDRINUSE') {
|
|
reject(new ApplicationError(`Port ${port} is already in use`));
|
|
} else {
|
|
reject(error);
|
|
}
|
|
};
|
|
|
|
this.server.on('error', portInUseErrorHandler);
|
|
|
|
this.server.listen(port, host, () => {
|
|
this.server.removeListener('error', portInUseErrorHandler);
|
|
console.log(`Health check server listening on ${host}, port ${port}`);
|
|
resolve();
|
|
});
|
|
});
|
|
}
|
|
|
|
async stop() {
|
|
return await new Promise<void>((resolve, reject) => {
|
|
this.server.close((error) => {
|
|
if (error) reject(error);
|
|
else resolve();
|
|
});
|
|
});
|
|
}
|
|
}
|