Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.4K
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!