
YeltsinReyes
Mi
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Usuario popular!
Estoy creando una conexión pool en mi script pero siempre tengo errores en el log,
esto es lo que estoy haciendo, esta mal?
El error es cuando cierro la conexión!
UnhandledPromiseRejectionWarning: Error: Pool is closed.
En database.js
En index.js
esto es lo que estoy haciendo, esta mal?
El error es cuando cierro la conexión!
UnhandledPromiseRejectionWarning: Error: Pool is closed.
En database.js
JavaScript:
const mysql = require('mysql');
const { promisify } = require('util');
const pool = mysql.createPool({
host: '',
user: '',
password: '',
database: ''
});
pool.getConnection(function(err, connection){
if(err){
if(err.code === 'PROTOCOL_CONNECTION_LOST'){
console.error('Database connection was closed.');
}
if(err.code === 'ER_CON_COUNT_ERROR'){
console.error('Database has to many connections');
}
if(err.code === 'ECONNREFUSED'){
console.error('Database connection was refused');
}
}
if(connection){
connection.release();
console.log('DB is Connected');
}
return;
});
pool.query = promisify(pool.query);
module.exports = pool;
En index.js
JavaScript:
const con = require('./database');
const webpush = require('web-push');
const express = require('express');
const app = express();
app.post('/enviar', async function(req, res){
const datos = [{'json': JSON.stringify(req.body)}];
const result = await con.query('INSERT INTO notificaciones set ?', datos);
const rows = await con.query('SELECT * FROM suscripciones');
for(const i in rows){
const obj = JSON.parse(rows[i].json);
const json = JSON.stringify({
'icon': req.body.imagen,
'body': req.body.mensaje,
'image': req.body.imagen,
'title': req.body.titulo,
'requireInteraction': true,
'vibrate': [200, 100, 200, 100, 200, 100, 200],
'data': {'id': result.insertId, 'link': req.body.link},
'actions': [{'action': 'link', 'title': req.body.boton}]
});
webpush.sendNotification(obj, json).then(function(resp){
if(resp.statusCode === 201){
const id = [result.insertId];
con.query('UPDATE notificaciones SET enviadas = enviadas + 1 WHERE id = ?', id);
}
}).catch(function(erro){
console.log('ERROR: ', erro);
});
}
con.end();
res.redirect('/enviar');
});