Есть скрипт парсера, который запускается в кроне. Вроде всё нормально работает, но иногда что-то происходит и скрипт виснет, по запущенным процессами видно, что хром запустился и, видимо, что-то происходит уже во время выполнения. Есть ли какой-то способ, чтобы 100% завершить скрипт? Пример кода:
const { chromium } = require('playwright');
(async () => {
let browser;
let context;
let page;
try {
browser = await chromium.launch({
proxy: {
//proxy init
}
});
context = await browser.newContext();
page = await context.newPage();
page.on('response', async (response) => {
if (response.url() === variants[type]) {
const res = {};
res.result = await response.text();
res.status = 'success';
console.log(JSON.stringify(res))
}
});
await page.setDefaultTimeout(60000)
await page.goto('site address');
await page.type('some data');
await page.click('element');
await page.waitForResponse(variants[type]);
} catch (e) {
console.log(JSON.stringify({status: 'error', error: e.message}));
} finally {
await page.screenshot({ path: `test.png` });
await context.clearCookies()
await browser.close();
}
})();