40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
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()
|