reorganized web-app

This commit is contained in:
Boki 2025-06-23 16:55:29 -04:00
parent 5c87f068d6
commit b67fe48f72
31 changed files with 1781 additions and 431 deletions

View file

@ -179,5 +179,82 @@ export function createMonitoringRoutes(container: IServiceContainer) {
});
});
/**
* Get service status for all microservices
*/
monitoring.get('/services', async (c) => {
try {
const services = await monitoringService.getServiceStatus();
return c.json({ services });
} catch (error) {
return c.json({
error: 'Failed to retrieve service status',
message: error instanceof Error ? error.message : 'Unknown error',
}, 500);
}
});
/**
* Get proxy statistics
*/
monitoring.get('/proxies', async (c) => {
try {
const stats = await monitoringService.getProxyStats();
return c.json(stats || { enabled: false });
} catch (error) {
return c.json({
error: 'Failed to retrieve proxy statistics',
message: error instanceof Error ? error.message : 'Unknown error',
}, 500);
}
});
/**
* Get comprehensive system overview
*/
monitoring.get('/overview', async (c) => {
try {
const overview = await monitoringService.getSystemOverview();
return c.json(overview);
} catch (error) {
return c.json({
error: 'Failed to retrieve system overview',
message: error instanceof Error ? error.message : 'Unknown error',
}, 500);
}
});
/**
* Test direct BullMQ queue access
*/
monitoring.get('/test/queue/:name', async (c) => {
const queueName = c.req.param('name');
const { Queue } = await import('bullmq');
const connection = {
host: 'localhost',
port: 6379,
db: 1,
};
const queue = new Queue(`{${queueName}}`, { connection });
try {
const counts = await queue.getJobCounts();
await queue.close();
return c.json({
queueName,
bullmqName: `{${queueName}}`,
counts
});
} catch (error: any) {
await queue.close();
return c.json({
queueName,
error: error.message
}, 500);
}
});
return monitoring;
}