問題点
Puppeteerを利用しているとAttempted to use detached Frameがたまに表示される。
中で起動しているブラウザとnode.jsの通信が切れてしまうと発生する。
※ ECSのコンテナで常時稼働しているみたいなプロセスで、SIGTERMが発生すると今回の対応をしても表示される
デフォルト設定だとWebSocketで通信するみたい。
ポートを通じて通信しているためか、パフォーマンスも悪いよう。
解決策
puppeteer.launchするときのオプションにpipe:trueを設定すると、stdio方式に変換される。
ネットワークを解するわけではなくなるため、パフォーマンスが良くなる。
puppeteer.launch({
    ...
    pipe: true
})
参考資料
LaunchOptions interface | Puppeteer
Signature
[Bug]: Error: Attempted to use detached Frame 'xxx...xxx' after waking up from standby · Issue #12423 · puppeteer/puppeteer
Minimal, reproducible example //import puppeteer from 'puppeteer'; const puppeteer = require('puppeteer'); const wait = ...
 


コメント