Add Ticker24h support: hourly market snapshots with USD-normalized volume filtering
This commit is contained in:
@@ -1472,6 +1472,7 @@ class UserContainer:
|
||||
self.data_api: Optional[DataAPIImpl] = None
|
||||
self.event_bridge: Optional[StrategyEventBridge] = None
|
||||
self.running = False
|
||||
self._uvicorn_server: Optional["uvicorn.Server"] = None
|
||||
|
||||
async def start(self) -> None:
|
||||
"""Start all subsystems"""
|
||||
@@ -1642,6 +1643,7 @@ class UserContainer:
|
||||
access_log=True,
|
||||
)
|
||||
server = uvicorn.Server(config)
|
||||
self._uvicorn_server = server
|
||||
await server.serve()
|
||||
else:
|
||||
raise ValueError(f"Unknown MCP transport: {self.config.mcp_transport}")
|
||||
@@ -1670,9 +1672,11 @@ async def main():
|
||||
loop = asyncio.get_event_loop()
|
||||
|
||||
def handle_signal(sig):
|
||||
logging.info(f"Received signal {sig}, shutting down...")
|
||||
asyncio.create_task(container.stop())
|
||||
loop.stop()
|
||||
logging.info(f"Received signal {sig}, initiating graceful shutdown...")
|
||||
if container._uvicorn_server is not None:
|
||||
container._uvicorn_server.should_exit = True
|
||||
else:
|
||||
loop.stop()
|
||||
|
||||
for sig in (signal.SIGTERM, signal.SIGINT):
|
||||
loop.add_signal_handler(sig, lambda s=sig: handle_signal(s))
|
||||
|
||||
Reference in New Issue
Block a user