diff --git a/backend/mempool-config.sample.json b/backend/mempool-config.sample.json index 7948049fc..fddd44781 100644 --- a/backend/mempool-config.sample.json +++ b/backend/mempool-config.sample.json @@ -116,6 +116,7 @@ "PASSWORD": "" }, "PRICE_DATA_SERVER": { + "UPDATE_FREQUENCY": 300, "TOR_URL": "http://wizpriceje6q5tdrxkyiazsgu7irquiqjy2dptezqhrtu7l2qelqktid.onion/getAllMarketPrices", "CLEARNET_URL": "https://price.bisq.wiz.biz/getAllMarketPrices" }, diff --git a/backend/src/__fixtures__/mempool-config.template.json b/backend/src/__fixtures__/mempool-config.template.json index ab700c466..3a2b151a5 100644 --- a/backend/src/__fixtures__/mempool-config.template.json +++ b/backend/src/__fixtures__/mempool-config.template.json @@ -93,6 +93,7 @@ "PASSWORD": "__SOCKS5PROXY_PASSWORD__" }, "PRICE_DATA_SERVER": { + "UPDATE_FREQUENCY": "__PRICE_DATA_SERVER_UPDATE_FREQUENCY", "TOR_URL": "__PRICE_DATA_SERVER_TOR_URL__", "CLEARNET_URL": "__PRICE_DATA_SERVER_CLEARNET_URL__" }, diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index edfcc7f47..cb564a334 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -102,6 +102,7 @@ describe('Mempool Backend Config', () => { }); expect(config.PRICE_DATA_SERVER).toStrictEqual({ + UPDATE_FREQUENCY: 3600, TOR_URL: 'http://wizpriceje6q5tdrxkyiazsgu7irquiqjy2dptezqhrtu7l2qelqktid.onion/getAllMarketPrices', CLEARNET_URL: 'https://price.bisq.wiz.biz/getAllMarketPrices' }); diff --git a/backend/src/config.ts b/backend/src/config.ts index 3a028d0cd..5117983fb 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -116,6 +116,7 @@ interface IConfig { PASSWORD: string; }; PRICE_DATA_SERVER: { + UPDATE_FREQUENCY: number; TOR_URL: string; CLEARNET_URL: string; }; @@ -259,6 +260,7 @@ const defaults: IConfig = { 'PASSWORD': '' }, 'PRICE_DATA_SERVER': { + 'UPDATE_FREQUENCY': 3600, 'TOR_URL': 'http://wizpriceje6q5tdrxkyiazsgu7irquiqjy2dptezqhrtu7l2qelqktid.onion/getAllMarketPrices', 'CLEARNET_URL': 'https://price.bisq.wiz.biz/getAllMarketPrices' }, diff --git a/backend/src/tasks/price-updater.ts b/backend/src/tasks/price-updater.ts index fafe2b913..335a61065 100644 --- a/backend/src/tasks/price-updater.ts +++ b/backend/src/tasks/price-updater.ts @@ -108,8 +108,8 @@ class PriceUpdater { this.lastRun = await PricesRepository.$getLatestPriceTime(); } - if ((Math.round(new Date().getTime() / 1000) - this.lastRun) < 3600) { - // Refresh only once every hour + if ((Math.round(new Date().getTime() / 1000) - this.lastRun) < config.PRICE_DATA_SERVER.UPDATE_FREQUENCY) { + // Refresh every UPDATE_FREQUENCY seconds at most return; } diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index 8b47d53b8..8b8a79969 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -112,6 +112,7 @@ "PASSWORD": "__SOCKS5PROXY_PASSWORD__" }, "PRICE_DATA_SERVER": { + "UPDATE_FREQUENCY": "__PRICE_DATA_SERVER_UPDATE_FREQUENCY__", "TOR_URL": "__PRICE_DATA_SERVER_TOR_URL__", "CLEARNET_URL": "__PRICE_DATA_SERVER_CLEARNET_URL__" }, diff --git a/docker/backend/start.sh b/docker/backend/start.sh index e05c73710..add483568 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -95,6 +95,7 @@ __SOCKS5PROXY_USERNAME__=${SOCKS5PROXY_USERNAME:=""} __SOCKS5PROXY_PASSWORD__=${SOCKS5PROXY_PASSWORD:=""} # PRICE_DATA_SERVER +__PRICE_DATA_SERVER_UPDATE_FREQUENCY__=${PRICE_DATA_SERVER_UPDATE_FREQUENCY:=300} __PRICE_DATA_SERVER_TOR_URL__=${PRICE_DATA_SERVER_TOR_URL:=http://wizpriceje6q5tdrxkyiazsgu7irquiqjy2dptezqhrtu7l2qelqktid.onion/getAllMarketPrices} __PRICE_DATA_SERVER_CLEARNET_URL__=${PRICE_DATA_SERVER_CLEARNET_URL:=https://price.bisq.wiz.biz/getAllMarketPrices} @@ -226,6 +227,7 @@ sed -i "s!__SOCKS5PROXY_PORT__!${__SOCKS5PROXY_PORT__}!g" mempool-config.json sed -i "s!__SOCKS5PROXY_USERNAME__!${__SOCKS5PROXY_USERNAME__}!g" mempool-config.json sed -i "s!__SOCKS5PROXY_PASSWORD__!${__SOCKS5PROXY_PASSWORD__}!g" mempool-config.json +sed -i "s!__PRICE_DATA_SERVER_UPDATE_FREQUENCY__!${__PRICE_DATA_SERVER_UPDATE_FREQUENCY__}!g" mempool-config.json sed -i "s!__PRICE_DATA_SERVER_TOR_URL__!${__PRICE_DATA_SERVER_TOR_URL__}!g" mempool-config.json sed -i "s!__PRICE_DATA_SERVER_CLEARNET_URL__!${__PRICE_DATA_SERVER_CLEARNET_URL__}!g" mempool-config.json diff --git a/production/mempool-config.mainnet.json b/production/mempool-config.mainnet.json index 5e25bcb76..769dd8019 100644 --- a/production/mempool-config.mainnet.json +++ b/production/mempool-config.mainnet.json @@ -49,6 +49,9 @@ "ENABLED": true, "TX_PER_SECOND_SAMPLE_PERIOD": 150 }, + "PRICE_DATA_SERVER": { + "UPDATE_FREQUENCY": 300 + }, "REPLICATION": { "ENABLED": true, "AUDIT": true,