betagouv / mon-aide-cyber

Apache License 2.0
8 stars 3 forks source link

[RESTITUTION PDF] Permets au générateur de PDF d'échouer plusieurs fois #491

Closed tomibennett closed 5 months ago

bbougon commented 5 months ago

Il s’avère que le navigateur lancé dans la génération du pdf par pupeteer n’était pas fermé. Nous avions oublié de faire un navigateur.close. Les processus de lancement de navigateurs s’empilaient et empêchaient la bonne exécution des processus suivants

Cette correction dans la PR #492 évite l’échec du processus de lancement du navigateur

const navigateur = await lanceNavigateur();
  try {
    const pages = pagesHtmlRemplies.map((pageHtml) =>
      navigateur.newPage().then((page) =>
        page
          .setContent(pageHtml.corps)
          .then(() => page.pdf(formatPdfA4(pageHtml.entete, pageHtml.piedPage)))
          .catch((erreur) => {
            console.log(erreur);
            throw erreur;
          }),
      ),
    );
    return await Promise.all(pages);
  } catch (erreur) {
    console.log(erreur);
    throw erreur;
  } finally {
    navigateur.close();
  }