From 533fa03492f5628c3a693caed2d669722235d457 Mon Sep 17 00:00:00 2001 From: "zhangkun9038@dingtalk.com" Date: Sat, 23 Aug 2025 12:12:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8container=5Fname=E5=81=9Aredi?= =?UTF-8?q?s=20key=E5=89=8D=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- freqtrade/templates/freqaiprimer.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/freqtrade/templates/freqaiprimer.py b/freqtrade/templates/freqaiprimer.py index 9ce22e91..016cb7f1 100644 --- a/freqtrade/templates/freqaiprimer.py +++ b/freqtrade/templates/freqaiprimer.py @@ -943,8 +943,12 @@ class FreqaiPrimer(IStrategy): current_mode = self.config.get('runmode') if current_mode == RunMode.LIVE: try: - # 获取主机名 - hostname = socket.gethostname() + # 获取容器名称和环境变量 + container_name = os.getenv('CONTAINER_NAME', socket.gethostname()) + + # 获取进程启动时间戳(全局有效) + if not hasattr(self, '_start_timestamp'): + self._start_timestamp = int(time.time() * 1000) # 将币对名从BTC/USDT格式转换为BTC-USDT格式 pair_redis = pair.replace('/', '-') @@ -952,8 +956,8 @@ class FreqaiPrimer(IStrategy): # 获取当前时间戳(毫秒) timestamp_ms = int(time.time() * 1000) - # 构建Redis key: ${主机名}_${币对名}_entry_${时间戳} - redis_key = f"{hostname}_{pair_redis}_entry_{timestamp_ms}" + # 构建Redis key: ${CONTAINER_NAME}_{startTimeStamp}_{币对名}_entry_{时间戳} + redis_key = f"{container_name}_{self._start_timestamp}_{pair_redis}_entry_{timestamp_ms}" # 获取Redis客户端 redis_client = self._get_redis_client() @@ -978,7 +982,7 @@ class FreqaiPrimer(IStrategy): 'market_regime': str(market_regime), 'timestamp': timestamp_ms, 'pair': str(pair), - 'hostname': str(hostname), + 'hostname': str(container_name), 'immediate_entry': bool(dataframe.loc[last_idx, 'immediate_entry']) if 'immediate_entry' in dataframe.columns else False, 'conditions_analysis': { 'total_conditions': len(conditions_summary),