From d87b62fed903d3c7642bf353c1e7026d3d004d8d Mon Sep 17 00:00:00 2001 From: Nicolas Date: Fri, 23 Aug 2024 22:33:17 -0300 Subject: [PATCH] Nick: --- apps/api/src/controllers/admin/queue.ts | 7 +++++++ apps/api/src/services/alerts/slack.ts | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/api/src/controllers/admin/queue.ts b/apps/api/src/controllers/admin/queue.ts index f3244d2c..2923ebba 100644 --- a/apps/api/src/controllers/admin/queue.ts +++ b/apps/api/src/controllers/admin/queue.ts @@ -5,6 +5,7 @@ import { Logger } from "../../lib/logger"; import { getScrapeQueue } from "../../services/queue-service"; import { checkAlerts } from "../../services/alerts"; import { exec } from "node:child_process"; +import { sendSlackWebhook } from "../../services/alerts/slack"; export async function cleanBefore24hCompleteJobsController( req: Request, @@ -140,6 +141,12 @@ export async function autoscalerController(req: Request, res: Response) { if (targetMachineCount !== activeMachines) { Logger.info(`🐂 Scaling from ${activeMachines} to ${targetMachineCount} - ${webScraperActive} active, ${webScraperWaiting} waiting`); + + if(targetMachineCount > activeMachines) { + sendSlackWebhook("🐂 Scaling up to " + targetMachineCount + " machines", false, process.env.SLACK_AUTOSCALER ?? ""); + } else { + sendSlackWebhook("🐂 Scaling down to " + targetMachineCount + " machines", false, process.env.SLACK_AUTOSCALER ?? ""); + } return res.status(200).json({ mode: "scale-descale", count: targetMachineCount, diff --git a/apps/api/src/services/alerts/slack.ts b/apps/api/src/services/alerts/slack.ts index 96bf1c09..0fa75693 100644 --- a/apps/api/src/services/alerts/slack.ts +++ b/apps/api/src/services/alerts/slack.ts @@ -3,9 +3,9 @@ import { Logger } from "../../../src/lib/logger"; export async function sendSlackWebhook( message: string, - alertEveryone: boolean = false + alertEveryone: boolean = false, + webhookUrl: string = process.env.SLACK_WEBHOOK_URL ?? "" ) { - const webhookUrl = process.env.SLACK_WEBHOOK_URL; const messagePrefix = alertEveryone ? " " : ""; const payload = { text: `${messagePrefix} ${message}`,