|
import os |
|
import uvicorn |
|
from fastapi import FastAPI |
|
from datetime import datetime, timedelta |
|
|
|
app = FastAPI(docs_url=None, redoc_url="/") |
|
|
|
|
|
START_TIME = datetime.utcnow() |
|
|
|
@app.get("/status") |
|
def status(): |
|
return {"message": "running"} |
|
|
|
@app.get("/ping") |
|
def ping(): |
|
now = datetime.utcnow() |
|
uptime_duration = now - START_TIME |
|
days = uptime_duration.days |
|
hours, remainder = divmod(uptime_duration.seconds, 3600) |
|
minutes, _ = divmod(remainder, 60) |
|
|
|
parts = [] |
|
if days: |
|
parts.append(f"{days} day{'s' if days != 1 else ''}") |
|
if hours: |
|
parts.append(f"{hours} hour{'s' if hours != 1 else ''}") |
|
if minutes: |
|
parts.append(f"{minutes} minute{'s' if minutes != 1 else ''}") |
|
|
|
return { |
|
"status": "xd!", |
|
"uptime": ", ".join(parts) or "just started" |
|
} |
|
|
|
if __name__ == "__main__": |
|
uvicorn.run(app, host="0.0.0.0", port=7860) |
|
|