Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.4K
Vistas
Demasiadas conexiones Nodejs + mysql2/promise

Estoy trabajando en un proyecto con nodejs + mysql2 y algunas veces me sale el error Demasiadas conexiones .

Mi conexión:

 import {createPool, Pool} from 'mysql2/promise'; export async function connect(): Promise < any > { const connection: Pool = await createPool({ host: 'localhost', port: 3306, user: 'root', password: '', database: 'mendozarq', connectionLimit: 10 }); return connection; }

Controlador:

 import { Response, Request } from 'express'; import { FieldPacket, Pool } from 'mysql2/promise'; import { connect } from './../../classes/database'; import { Personal } from './../../models/personal.interface'; export const getAllPersonal = async (req: Request, res: Response) => { try { const conn: Pool = await connect(); const [personal]: [any[], FieldPacket[]] = await conn.query('SELECT * FROM personal ORDER BY creadoEn DESC'); conn.end(); return res.status(200).json(personal); } catch (error) { return res.status(400).json({ error }); } }

Entonces, mi pregunta es que tengo que usar createConnection en lugar de createPool o simplemente tengo que crear una instancia de mi conn.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Solo debe llamar a createPool una vez, luego seleccione del grupo cada vez a partir de entonces.

Entonces, debería verse algo como esto. Cree una constante que almacene el grupo. Luego, en la función, si el grupo ya existe, devuelva el grupo sin llamar a createPool . Si no existe, llamaría a createPool y devolvería el grupo ya creado.

 import {createPool, Pool} from 'mysql2/promise'; const globalPool: Pool | undefined = undefined; export async function connect(): Promise <Pool> { // If the pool was already created, return it instead of creating a new one. if(globalPool) { return globalPool; } // If we have gotten this far, the pool doesn't exist, so lets create one. globalPool = await createPool({ host: 'localhost', port: 3306, user: 'root', password: '', database: 'mendozarq', connectionLimit: 10 }); return globalPool; }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda