- Create comfy-agent service with FastAPI + NATS integration - ComfyUI client with HTTP/WebSocket support - REST API: /generate/image, /generate/video, /status, /result - NATS subjects: agent.invoke.comfy, comfy.request.* - Async job queue with progress tracking - Docker compose configuration for NODE3 - Update PROJECT-MASTER-INDEX.md with NODE2/NODE3 docs Co-Authored-By: Warp <agent@warp.dev>
27 lines
740 B
Python
27 lines
740 B
Python
# services/comfy-agent/app/main.py
|
|
import asyncio
|
|
from fastapi import FastAPI
|
|
from fastapi.staticfiles import StaticFiles
|
|
from .config import settings
|
|
from .api import router
|
|
from .worker import worker_loop
|
|
from .nats_client import start_nats
|
|
from .storage import ensure_storage
|
|
|
|
app = FastAPI(title="Comfy Agent Service", version="0.1.0")
|
|
app.include_router(router)
|
|
|
|
@app.on_event("startup")
|
|
async def startup():
|
|
ensure_storage()
|
|
|
|
# Static files for result URLs: /files/{job_id}/...
|
|
app.mount("/files", StaticFiles(directory=settings.STORAGE_PATH), name="files")
|
|
|
|
asyncio.create_task(worker_loop())
|
|
await start_nats()
|
|
|
|
@app.get("/healthz")
|
|
async def healthz():
|
|
return {"ok": True, "service": settings.SERVICE_NAME}
|