小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Puppeteer 系列踩坑日志

 看見就非常 2020-05-29
在使用puppeteer的時候,本機運行簡直是和諧的不得了。但是一旦放到了服務器上長期運行,則要遭受眾多的問題。我曾一度懷疑是不是服務器趁我看不見,故意給我搞事情。不過,計算機的世界里,任何的問題,肯定錯在我身上。我們來談談puppeteer的一些崩潰措施。

頁面崩潰

我們可以使用 page 訂閱 error 事件,這樣的話,我們可以在回調里面去操作我們頁面錯誤后的處理方法。

瀏覽器崩潰

但有時候往往太年輕,我當時以為這樣就是萬全之策,沒想到,接下來第二天還是服務器報錯了。找來找去,看到了一個這樣的錯誤:"WebSocket is not open: readyState 3" 這個報錯看得我一臉懵逼。

在翻閱了官方文檔之后,毫無進展,好在一位好心的老哥,替我在官方文檔(github上的地址)找到了一個issues: https://github.com/puppeteer/puppeteer/issues/4428

情況跟我?guī)缀跻荒R粯印?纯唇涣飨聛硎侨绾谓鉀Q的?

上代碼:

const setup = async () => {
browser = await puppeteer.launch({
args: ['--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage']
});
?
browser.on('disconnected', setup);
?
logger.info(`Started Puppeteer with pid ${browser.process().pid}`);
};

反過來去查閱官方文檔: https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#event-disconnected

原來如此,看來我文檔看的還是不夠仔細,當我們程序和瀏覽器斷開了鏈接。那么這個方法就會被執(zhí)行,言下之意也就是我們的程序崩掉了。

綜上,一般情況下,我都會加上這兩個的報錯。畢竟chrome在長期跑得過程中,難免會有很多不確定性因素。但是我們不將這些不確定因素都囊括住,那么也就增加了程序崩掉的風險,健壯性由此體現(xiàn)。

  • 如有遇到其他問題,評論下方可以聯(lián)系我,共同學習排坑。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多