puppeteer handling change
This commit is contained in:
14
src/index.js
14
src/index.js
@@ -43,8 +43,8 @@ async function initBrowser() {
|
||||
'--disable-dev-shm-usage',
|
||||
'--disable-gpu',
|
||||
'--disable-software-rasterizer',
|
||||
'--no-zygote',
|
||||
'--single-process'
|
||||
'--no-zygote'
|
||||
// '--single-process' WURDE ENTFERNT!
|
||||
],
|
||||
protocolTimeout: 180000,
|
||||
timeout: 180000
|
||||
@@ -54,12 +54,16 @@ async function initBrowser() {
|
||||
// Pass browser to PDF service
|
||||
setBrowser(browser);
|
||||
|
||||
// Restart browser if it crashes
|
||||
// Restart browser if it crashes (mit Atempause!)
|
||||
browser.on('disconnected', () => {
|
||||
console.log('[BROWSER] Browser disconnected, restarting...');
|
||||
console.log('[BROWSER] Browser disconnected. Waiting 5 seconds before restarting...');
|
||||
browser = null;
|
||||
setBrowser(null);
|
||||
initBrowser();
|
||||
|
||||
// 5 Sekunden warten, bevor ein Neustart versucht wird
|
||||
setTimeout(() => {
|
||||
initBrowser();
|
||||
}, 5000);
|
||||
});
|
||||
}
|
||||
return browser;
|
||||
|
||||
@@ -33,17 +33,26 @@ async function generatePdfFromHtml(html, options = {}) {
|
||||
}
|
||||
|
||||
const page = await browser.newPage();
|
||||
//await page.setContent(html, { waitUntil: 'networkidle0', timeout: 60000 });
|
||||
await page.setContent(html, { waitUntil: 'load', timeout: 5000 });
|
||||
|
||||
const pdf = await page.pdf({
|
||||
format,
|
||||
printBackground,
|
||||
margin
|
||||
});
|
||||
try {
|
||||
// Erhöhtes Timeout: 5 Sekunden sind unter Docker manchmal zu wenig.
|
||||
// Besser auf 15 Sekunden (15000) setzen, um den Fehler von vornherein zu vermeiden.
|
||||
await page.setContent(html, { waitUntil: 'load', timeout: 15000 });
|
||||
|
||||
await page.close();
|
||||
return pdf;
|
||||
const pdf = await page.pdf({
|
||||
format,
|
||||
printBackground,
|
||||
margin
|
||||
});
|
||||
|
||||
return pdf;
|
||||
} finally {
|
||||
// Dieser Block wird IMMER ausgeführt, selbst wenn oben ein Fehler fliegt.
|
||||
// Der Tab wird also zu 100% wieder geschlossen.
|
||||
if (page) {
|
||||
await page.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user