import time import logging from src.exchanges.eix import EIXExchange from src.exchanges.ls import LSExchange from src.database.questdb_client import DatabaseClient logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger("TradingDaemon") def main(): logger.info("Starting Trading Data Fetcher") # Initialize components exchanges = [ EIXExchange(), LSExchange() ] db = DatabaseClient() # Process each exchange for exchange in exchanges: try: logger.info(f"Fetching data from {exchange.name}...") trades = exchange.fetch_latest_trades() logger.info(f"Fetched {len(trades)} trades from {exchange.name}.") if trades: db.save_trades(trades) logger.info(f"Stored {len(trades)} trades in database.") except Exception as e: logger.error(f"Error processing exchange {exchange.name}: {e}") logger.info("Fetching cycle complete.") if __name__ == "__main__": main()