From cf5b29a43e46785a7d0720774db5fc51f34ea198 Mon Sep 17 00:00:00 2001 From: adriano Date: Thu, 9 Feb 2023 18:09:51 -0300 Subject: [PATCH] =?UTF-8?q?implementa=C3=A7=C3=A3o=20de=20solu=C3=A7ao=20p?= =?UTF-8?q?ara=20verficar=20se=20o=20servidor=20das=20sessoes=20esta=20res?= =?UTF-8?q?pondendo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/server.ts | 51 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/backend/src/server.ts b/backend/src/server.ts index 7525f0b..2da85a0 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -3,7 +3,9 @@ import app from "./app"; import { initIO, getIO } from "./libs/socket"; import { logger } from "./utils/logger"; import { StartAllWhatsAppsSessions } from "./services/WbotServices/StartAllWhatsAppsSessions"; -import User from "./models/User"; +import User from "./models/User"; +import Whatsapp from "./models/Whatsapp"; +import endPointQuery from "./helpers/EndPointQuery"; const server = app.listen(process.env.PORT, () => { logger.info(`Server started on port: ${process.env.PORT}`); @@ -15,14 +17,46 @@ if (global.gc) { global.gc(); } else { console.warn('No GC hook! Start your program as `node --expose-gc file.js`.'); -} - +} + initIO(server); // StartAllWhatsAppsSessions(); gracefulShutdown(server); +(async () => { + + let whatsapps: any = await Whatsapp.findAll({ attributes: ['id', 'url'] }) + + console.log('whatsapps: ', whatsapps) + + if (whatsapps && whatsapps.length > 0) { + + for (let i = 0; i < whatsapps.length; i++) { + + try { + + const response = await endPointQuery(`${whatsapps[i].dataValues.url}/api/status`, {}) + + if (!response) { + throw new Error('Response null'); + } + + } catch (error: any) { + + await whatsapps[i].update({ status: 'OPENING' }); + + console.log(`There was an error on try acess the api sessions ${whatsapps[i].dataValues.url}`) + } + + await new Promise(f => setTimeout(f, 300)); + + } + } + +})() + setTimeout(async () => { const io = getIO(); @@ -31,10 +65,10 @@ setTimeout(async () => { let users = await User.findAll({ raw: true, attributes: ["id"], }) - if (users && users.length > 0) { + for (let i = 0; i < users.length; i++) { - + io.emit("reload_page", { action: "update", userId: users[i].id @@ -45,11 +79,14 @@ setTimeout(async () => { await new Promise(f => setTimeout(f, 500)); } - } - + } + }, 5000) + + +