首页 > 解决方案 > html-pdf-chrome beforeNavigate() 调用的 Promise.all() 间歇性无法解析

问题描述

以下来自我的https://github.com/westy92/html-pdf-chrome/issues/286#issue-718918879

我的 Node.js 应用程序使用 html-pdf-chrome 将数千个 HTML 转换为 PDF。

间歇性地(几个小时后),(https://github.com/westy92/html-pdf-chrome/blob/master/src/index.ts#L106-L110Promise.all() )中的调用无法解决。结果,我的 Node.js 依赖调用也卡住了。beforeNavigate()htmlPdf.create()

由于间歇性,我将其拆分为 3 个单独的等待行,以便console.debug()在每行之后插入行。

基于这些调试语句,我看到了Runtime.enable()未解决或未Network.enable()解决的情况。

在我考虑尝试将此作为超时问题处理(可能重试)之前,我正在寻求有关如何进一步调试的建议/想法/帮助。

我在 GitHub 或 SO 上找不到有关此类间歇性问题的过去报告。

在 AWS EC2 t2-medium 实例上使用的 Node.js 版本是 12.16.3。

无头 Chromium 版本是 706915(作为 puppeteer@2.0.0 的一部分安装,但我不使用 puppeteer 本身的任何东西)。它与 Node.js 在同一主机上运行。它在 Node.js 进程启动之前启动,并且没有重新启动 Chromium 进程的代码。较新的预编译 Chromium 实例在此 AWS EC2 上不起作用(Linux ip-xxx-xxx-xxx-xxx 4.9.85-38.58.amzn1.x86_64 #1 SMP Wed Mar 14 01:17:26 UTC 2018 x86_64 x86_64 x86_64 GNU/ Linux)。

标签: htmlpdfpromisechromiumheadless

解决方案


推荐阅读