update
This commit is contained in:
parent
15add26b15
commit
2f246491e9
@ -40,8 +40,24 @@ class CryptoAgent:
|
||||
|
||||
logger.info(f"加密货币智能体初始化完成,监控交易对: {self.symbols}")
|
||||
|
||||
def _get_seconds_until_next_5min(self) -> int:
|
||||
"""计算距离下一个5分钟整点的秒数"""
|
||||
now = datetime.now()
|
||||
current_minute = now.minute
|
||||
current_second = now.second
|
||||
|
||||
# 计算下一个5的倍数分钟
|
||||
minutes_past = current_minute % 5
|
||||
if minutes_past == 0 and current_second == 0:
|
||||
# 刚好在整点,立即执行
|
||||
return 0
|
||||
minutes_to_wait = 5 - minutes_past if minutes_past > 0 else 5
|
||||
seconds_to_wait = minutes_to_wait * 60 - current_second
|
||||
|
||||
return seconds_to_wait
|
||||
|
||||
async def run(self):
|
||||
"""主运行循环"""
|
||||
"""主运行循环 - 在5的倍数分钟执行"""
|
||||
self.running = True
|
||||
logger.info("加密货币智能体开始运行...")
|
||||
|
||||
@ -49,16 +65,27 @@ class CryptoAgent:
|
||||
await self.feishu.send_text(
|
||||
f"🚀 加密货币智能体已启动\n"
|
||||
f"监控交易对: {', '.join(self.symbols)}\n"
|
||||
f"分析间隔: {self.analysis_interval}秒"
|
||||
f"运行时间: 每5分钟整点 (:00, :05, :10, ...)"
|
||||
)
|
||||
|
||||
while self.running:
|
||||
try:
|
||||
# 等待到下一个5分钟整点
|
||||
wait_seconds = self._get_seconds_until_next_5min()
|
||||
if wait_seconds > 0:
|
||||
next_run = datetime.now() + timedelta(seconds=wait_seconds)
|
||||
logger.info(f"等待 {wait_seconds} 秒,下次运行时间: {next_run.strftime('%H:%M:%S')}")
|
||||
await asyncio.sleep(wait_seconds)
|
||||
|
||||
# 执行分析
|
||||
run_time = datetime.now()
|
||||
logger.info(f"=== 开始分析 [{run_time.strftime('%H:%M:%S')}] ===")
|
||||
|
||||
for symbol in self.symbols:
|
||||
await self.analyze_symbol(symbol)
|
||||
|
||||
# 等待下一次分析
|
||||
await asyncio.sleep(self.analysis_interval)
|
||||
# 等待几秒确保不会在同一分钟内重复执行
|
||||
await asyncio.sleep(2)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"分析循环出错: {e}")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user