Skip to content

Commit

Permalink
add retries
Browse files Browse the repository at this point in the history
  • Loading branch information
pablomatiasgomez committed Jun 13, 2024
1 parent 733eeb8 commit c5f007c
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/connector/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ const BROWSER_KINDS = {
"NORMAL": "NORMAL",
"STEALTH": "STEALTH",
};
const MAX_RETRY_TIMES = 3;

class Browser {

Expand Down Expand Up @@ -111,7 +112,7 @@ class Browser {
this.currentBrowserPage = null;
}

fetchData(url) {
fetchData(url, tryCount = 1) {
let self = this;

let siteBrowser = self.getSiteBrowserForUrl(url);
Expand All @@ -122,7 +123,7 @@ class Browser {

return Promise.resolve().then(() => {
let browserKind = siteBrowser.useStealthBrowser() ? BROWSER_KINDS.STEALTH : BROWSER_KINDS.NORMAL;
logger.info(`Getting browser for url ${url} using ${siteBrowser.name()} with ${browserKind} browser..`);
logger.info(`Getting browser for url ${url} using ${siteBrowser.name()} with ${browserKind} browser, try ${tryCount}..`);
return self.getBrowserPage(browserKind);
}).then(page => {
return Promise.resolve().then(() => {
Expand All @@ -141,6 +142,16 @@ class Browser {
data: data
};
});
}).catch(e => {
// Allow to retry by closing the browser and opening again.
if (tryCount >= MAX_RETRY_TIMES) {
logger.error(`Failed to fetch data for url ${url}, tried ${tryCount}, skipping...`, e);
throw e;
}
logger.error(`Failed to fetch data for url ${url}, tried ${tryCount}, trying again...`, e);
return self.closeCurrentBrowser().then(Utils.delay(1000)).then(() => {
return self.fetchData(url, tryCount + 1);
});
});
}

Expand Down

0 comments on commit c5f007c

Please sign in to comment.