File tree Expand file tree Collapse file tree 3 files changed +39
-3
lines changed
Expand file tree Collapse file tree 3 files changed +39
-3
lines changed Original file line number Diff line number Diff line change 1- POLYGON_API_KEY = your_polygon_api_key
1+ MONGO_URL = mongodb://mongodb:27017
Original file line number Diff line number Diff line change 1+ FROM python:3.12-slim
2+
3+ WORKDIR /app
4+
5+ # Install dependencies
6+ RUN apt-get update && apt-get install -y --no-install-recommends \
7+ curl \
8+ build-essential \
9+ && rm -rf /var/lib/apt/lists/*
10+
11+ # Install uv
12+ RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \
13+ mv /root/.local/bin/uv /usr/local/bin/uv
14+
15+ # Ensure PATH includes /usr/local/bin
16+ ENV PATH="/usr/local/bin:$PATH"
17+
18+ # Copy project files
19+ COPY . .
20+
21+ # Run uv sync
22+ RUN uv sync --frozen --no-cache
23+
24+ # Expose port
25+ EXPOSE 50051
26+
27+ # Run the application
28+ CMD ["uv" , "run" , "src/index.py" ]
Original file line number Diff line number Diff line change 1+ import logging
2+ import os
13import grpc
24import proto .stock_pb2_grpc as stock_pb2_grpc
35from concurrent import futures
1113
1214load_dotenv ()
1315
16+ logger = logging .getLogger (__name__ )
17+ logger .setLevel (logging .INFO )
18+
19+
1420
1521def serve ():
16- client = MongoClient ("mongodb://localhost:27017" )
22+ client = MongoClient (os .getenv ("MONGO_URI" ))
23+ logger .info ("connected to mongodb" )
24+
1725 stock_repo = StockRepository (client , "stock_db" )
1826 portfolio_repo = PortfolioRepository (client , "stock_db" )
1927 stock_usecase = StockUsecase (stock_repo , portfolio_repo )
2028 server = grpc .server (futures .ThreadPoolExecutor (max_workers = 10 ))
2129 stock_pb2_grpc .add_StockServiceServicer_to_server (StockService (stock_usecase ), server )
2230 server .add_insecure_port ("[::]:50051" )
23- print ("server is running..." )
31+ logger . info ("server is running..." )
2432 server .start ()
2533 server .wait_for_termination ()
2634
You can’t perform that action at this time.
0 commit comments