import asyncio from app.services.Bybit.functions.Futures import close_trade_after_delay, trading_cycle active_start_tasks = {} active_close_tasks = {} def start_trading_cycle(tg_id, message): task = asyncio.create_task(trading_cycle(tg_id, message)) active_start_tasks[tg_id] = task def stop_trading_cycle(tg_id): task = active_start_tasks.pop(tg_id, None) if task: task.cancel() def start_close_trade_task(tg_id, message, symbol, delay_sec): task = asyncio.create_task(close_trade_after_delay(tg_id, message, symbol, delay_sec)) active_close_tasks[tg_id] = task def stop_close_trade_task(tg_id): task = active_close_tasks.pop(tg_id, None) if task: task.cancel()