-
Notifications
You must be signed in to change notification settings - Fork 4
/
server.py
42 lines (31 loc) · 1.06 KB
/
server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import os
from dotenv import load_dotenv
from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse
from app.sdk.job_manager import BaseJobManager
from app.sdk.job_router import JobManagerFastAPIRouter
from app.scraper import scrape
import logging
from pydantic import BaseModel
import time
# Load environment variables
load_dotenv()
# Set up logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
logging.captureWarnings(True)
logger = logging.getLogger(__name__)
HOST = os.getenv("HOST", "localhost")
PORT = int(os.getenv("PORT", "8000"))
MODE = os.getenv("MODE", "production")
# Initialize FastAPI app
app = FastAPI()
app.job_manager = BaseJobManager() # type: ignore
job_manager_router = JobManagerFastAPIRouter(app, scrape)
# Running the server
if __name__ == "__main__":
import uvicorn
print(f"Starting server on {HOST}:{PORT}")
uvicorn.run("server:app", host=HOST, port=PORT, reload=True)