From aee9b2c749ca8262506123a2543cffc86e993389 Mon Sep 17 00:00:00 2001 From: Stefano Date: Wed, 17 Sep 2025 13:38:09 +0900 Subject: [PATCH] remove lock --- freqtrade/exchange/binance.py | 41 +++++++++++++++-------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/freqtrade/exchange/binance.py b/freqtrade/exchange/binance.py index cee8638c4..1d45d7c79 100644 --- a/freqtrade/exchange/binance.py +++ b/freqtrade/exchange/binance.py @@ -3,7 +3,6 @@ import logging from datetime import UTC, datetime from pathlib import Path -from threading import Lock import ccxt from cachetools import TTLCache @@ -73,7 +72,6 @@ class Binance(Exchange): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self._spot_delist_schedule_cache: TTLCache = TTLCache(maxsize=100, ttl=300) - self._spot_delist_schedule_cache_lock = Lock() def get_proxy_coin(self) -> str: """ @@ -493,35 +491,32 @@ class Binance(Exchange): return None cache = self._spot_delist_schedule_cache - lock = self._spot_delist_schedule_cache_lock if not refresh: - with lock: - delist_time = cache.get(pair, None) + delist_time = cache.get(pair, None) - if delist_time: - return delist_time + if delist_time: + return delist_time delist_schedule = self.get_spot_delist_schedule() if delist_schedule is None: return None - with lock: - for schedule in delist_schedule: - delist_dt = dt_from_ts(int(schedule["delistTime"])) - for symbol in schedule["symbols"]: - ft_symbol = next( - ( - pair - for pair, market in self.markets.items() - if market.get("id", None) == symbol - ), - None, - ) - if ft_symbol is None: - continue + for schedule in delist_schedule: + delist_dt = dt_from_ts(int(schedule["delistTime"])) + for symbol in schedule["symbols"]: + ft_symbol = next( + ( + pair + for pair, market in self.markets.items() + if market.get("id", None) == symbol + ), + None, + ) + if ft_symbol is None: + continue - cache[ft_symbol] = delist_dt + cache[ft_symbol] = delist_dt - return cache.get(pair, None) + return cache.get(pair, None)