more efficient server

This commit is contained in:
2026-05-15 06:28:48 +02:00
parent f24b83f2da
commit 2bb08a514a
+19 -25
View File
@@ -19,7 +19,7 @@ import threading
BUILD_PATH = "./build_models"
IMAGE_SIZE = 64
sem = threading.Semaphore(1) #adjust to performance
sem_ai = threading.Semaphore(1)
class bird_species(Enum):
Common_Kingfisher = 0
@@ -61,7 +61,7 @@ app.add_middleware(
@app.post("/predict")
async def predict(file: UploadFile = File(...)):
with sem:
with sem_ai:
image_bytes = await file.read()
image = Image.open(io.BytesIO(image_bytes)).convert("RGB")
@@ -92,9 +92,15 @@ class Review(BaseModel):
text: str
date: str
sem_db = threading.Semaphore(1)
@app.get("/review")
def get_reviews(auth=Depends(get_api_key)):
conn = sqlite3.connect("database/reviews.db")
with sem_db:
conn = sqlite3.connect(
"database/reviews.db",
check_same_thread=False
)
cur = conn.cursor()
cur.execute("""
@@ -105,13 +111,16 @@ def get_reviews(auth=Depends(get_api_key)):
print(data)
conn.commit()
conn.close()
return {"data": data}
@app.post("/review")
def post_review(review: Review):
conn = sqlite3.connect("database/reviews.db")
with sem_db:
conn = sqlite3.connect(
"database/reviews.db",
check_same_thread=False
)
cur = conn.cursor()
cur.execute("""
@@ -123,28 +132,13 @@ def post_review(review: Review):
conn.close()
return {"status": "ok"}
@app.put("/review")
def put_review(auth=Depends(get_api_key)):
conn = sqlite3.connect("database/reviews.db")
cur = conn.cursor()
cur.execute("""
CREATE TABLE IF NOT EXISTS reviews (
id INTEGER PRIMARY KEY AUTOINCREMENT,
website TEXT,
rating INTEGER,
text TEXT,
created_at TEXT
)
""")
conn.commit()
conn.close()
return {"status": "ok"}
@app.delete("/review")
def delete_review(auth=Depends(get_api_key)):
conn = sqlite3.connect("database/reviews.db")
with sem_db:
conn = sqlite3.connect(
"database/reviews.db",
check_same_thread=False
)
cur = conn.cursor()
cur.execute("""