html - 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)。
解决方案
推荐阅读
- python - 如何在 Python 中标准化 RGB?
- go - 如何通过匹配的字符串变量在结构中选择键 id
- google-translate - 谷歌翻译 API 的区别
- rxjs - 从可观察对象中检索间隔值
- geoserver - 寻找 WMS-in-WMS 功能 - 根据规模调用其他 WMS 的 WMS
- c# - c# interop excel:将一维数组写入excel范围
- cordova - 对于混合应用程序中的增强现实平面检测,我有哪些选择?
- google-workspace - GSuite 移动设备 API 未返回管理员中可见的所有设备
- pandas - 如何根据数据框单元格中的外观制作新单元格
- android - 当我替换片段时,滚动不会到顶部