fix: forex retry and error logging on dev

This commit is contained in:
Rafael Taranto 2025-05-22 19:30:19 +01:00
parent c379596b6b
commit 118e4571fd
2 changed files with 7 additions and 6 deletions

View file

@ -30,7 +30,7 @@ function getBitPayFxRate(
fiatCodeProperty, fiatCodeProperty,
rateProperty, rateProperty,
) { ) {
return getFiatRates().then(({ data: fxRates }) => { return getFiatRates().then(fxRates => {
const defaultFiatRate = findCurrencyRates( const defaultFiatRate = findCurrencyRates(
fxRates, fxRates,
defaultFiatMarket, defaultFiatMarket,
@ -69,14 +69,15 @@ const getRate = (retries = 1, fiatCode, defaultFiatMarket) => {
defaultFiatMarket, defaultFiatMarket,
fiatCodeProperty, fiatCodeProperty,
rateProperty, rateProperty,
).catch(() => { ).catch(err => {
// Switch service
const erroredService = API_QUEUE.shift() const erroredService = API_QUEUE.shift()
API_QUEUE.push(erroredService) API_QUEUE.push(erroredService)
if (retries >= MAX_ROTATIONS) if (retries >= MAX_ROTATIONS)
throw new Error(`FOREX API error from ${erroredService.name}`) throw new Error(
`FOREX API error from ${erroredService.name} ${err?.message}`,
)
return getRate(++retries, fiatCode) return getRate(++retries, fiatCode, defaultFiatMarket)
}) })
} }

View file

@ -34,7 +34,7 @@ function ticker(fiatCode, cryptoCode, tickerName) {
return getCurrencyRates(ticker, fiatCode, cryptoCode) return getCurrencyRates(ticker, fiatCode, cryptoCode)
} }
return getRate(RETRIES, tickerName, defaultFiatMarket(tickerName)).then( return getRate(RETRIES, fiatCode, defaultFiatMarket(tickerName)).then(
({ fxRate }) => { ({ fxRate }) => {
try { try {
return getCurrencyRates( return getCurrencyRates(