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

457
Vistas
Se agota el tiempo de espera de la función PDF del titiritero de Firebase debido a la revisión de Chrome

Tengo una función de Firebase para crear un archivo PDF. ¿Últimamente, se agotó el tiempo de espera debido a una "revisión de Chrome"? Ni entiendo el mensaje de error, ni entiendo lo que está mal. La función funciona cuando la implemento localmente en MacOS.

 TimeoutError: Timed out after 30000 ms while trying to connect to the browser! Only Chrome at revision r818858 is guaranteed to work. at Timeout.onTimeout (/workspace/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:204:20) at listOnTimeout (internal/timers.js:549:17) at processTimers (internal/timers.js:492:7)

La función:

 const puppeteer = require('puppeteer'); const createPDF = async (html, outputPath) => { let pdf; try { const browser = await puppeteer.launch({ args: ['--no-sandbox'] }); const page = await browser.newPage(); await page.emulateMediaType('screen'); await page.setContent(html, { waitUntil: 'networkidle0' }); pdf = await page.pdf({ // path: outputPath, format: 'A4', printBackground: true, margin: { top: "50px", bottom: "50px" } }); await browser.close(); } catch (e) { console.error(e); } return pdf; };
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

TimeoutError: ¡Se agotó el tiempo de espera después de 30000 ms al intentar conectarse al navegador!

El error antes mencionado proviene del hecho de que, como se menciona en la documentación :

Cuando instala Puppeteer, descarga una versión reciente de Chromium

Cada vez que ejecuta Puppeteer, está ejecutando un Chromium en el backend al que Puppeteer intentará conectarse, por lo tanto, cuando no puede conectarse al navegador, surgen estos errores.

Después de realizar varias pruebas, pude ejecutar Cloud Function agregando el parámetro headless en la opción de inicio, ya que la documentación menciona que debería ser true de forma predeterminada. No entiendo muy bien por qué configurarlo manualmente permite que Cloud Function finalice correctamente. . Al principio estaba intentando con el tiempo de timeout puesto a 0 para deshabilitar el error por tiempo de espera, sin embargo parece que no es necesario, ya que con solo agregar headless terminó correctamente, pero si encuentras el mismo problema con los tiempos de espera puedes agregar eso. Al final mi código se ve así:

 const createPDF = async (html, outputPath) => { let pdf; try { const browser = await puppeteer.launch({ args: ['--no-sandbox'], headless: true, timeout: 0 }); const page = await browser.newPage(); await page.emulateMediaType('screen'); await page.setContent(html, { waitUntil: 'networkidle0' }); pdf = await page.pdf({ // path: outputPath, format: 'A4', printBackground: true, margin: { top: "50px", bottom: "50px" } }); await browser.close(); console.log("Download finished"); //Added this to debug that it finishes correctly } catch (e) { console.error(e); } return pdf; };
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