mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-01-16 23:00:51 +00:00
35 lines
801 B
TypeScript
35 lines
801 B
TypeScript
import Express, {
|
|
ExpressRequest,
|
|
ExpressResponse,
|
|
ExpressRouter,
|
|
NextFunction,
|
|
} from "Common/Server/Utils/Express";
|
|
import WorkerQueueService from "../Services/Queue/WorkerQueueService";
|
|
|
|
const router: ExpressRouter = Express.getRouter();
|
|
|
|
/**
|
|
* JSON metrics endpoint for KEDA autoscaling
|
|
* Returns queue size as JSON for KEDA metrics-api scaler
|
|
*/
|
|
router.get(
|
|
"/metrics/queue-size",
|
|
async (
|
|
_req: ExpressRequest,
|
|
res: ExpressResponse,
|
|
next: NextFunction,
|
|
): Promise<void> => {
|
|
try {
|
|
const queueSize: number = await WorkerQueueService.getQueueSize();
|
|
|
|
res.setHeader("Content-Type", "application/json");
|
|
res.status(200).json({
|
|
queueSize: queueSize,
|
|
});
|
|
} catch (err) {
|
|
return next(err);
|
|
}
|
|
},
|
|
);
|
|
|
|
export default router;
|