implementação de soluçao para verficar se o servidor das sessoes esta respondendo.
parent
9a55f7d5d8
commit
cf5b29a43e
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue