我正在Django应用中广泛使用 Pyppeteer ,但是最近我知道很多次 chrome实例没有被杀死,并且 。这成为一个巨大的问题,在杀死了所有残留的Pyppeteer进程后,释放了7GB的ram。
我知道理想情况下 Browser.close()负责在完成工作后终止chrome进程,但是有任何方法可以确保在发生任何异常的情况下终止chrome浏览器进程发生(或其他原因)?
以下是我的 pyppeteer片段,它们是views.py
async def hmm(url):
browser = await launch(headless=True, handleSIGINT=False,
handleSIGTERM=False, handleSIGHUP=False, args=['--no-sandbox'])
page = await browser.newPage()
await page.goto(url, {'waitUntil' : ['domcontentloaded']}, timeout=90000)
dimensions = await page.evaluate('''async () => {
// do something
''')
await browser.close() // terminating chrome
return dimensions