From 4dfcffd0b30a0a3eedeb1d96c04f328703031676 Mon Sep 17 00:00:00 2001 From: Chris Christiansen Date: Tue, 23 Jun 2026 11:54:44 +0000 Subject: [PATCH] fix(startup): move all blocking calls to lifespan event --- agents/core-logic/agent.py | 7 +------ agents/core-logic/app.py | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/agents/core-logic/agent.py b/agents/core-logic/agent.py index 354f9a1..6ab34dd 100644 --- a/agents/core-logic/agent.py +++ b/agents/core-logic/agent.py @@ -13,7 +13,7 @@ import google.auth import google.auth.transport.requests from typing import Literal -import vertexai + from google.adk.agents import Agent from google.adk.tools import FunctionTool from google.adk.runners import Runner @@ -25,9 +25,6 @@ logger = logging.getLogger(__name__) PROJECT_ID = os.environ.get("GOOGLE_CLOUD_PROJECT", "propane-will-491900-m5") LOCATION = os.environ.get("GOOGLE_CLOUD_LOCATION", "us-central1") -# Initialiser Vertex AI eksplisitt — ADK krev dette for Cloud Run -vertexai.init(project=PROJECT_ID, location=LOCATION) - ORCHESTRATOR_MODEL = os.environ.get("ORCHESTRATOR_MODEL", "gemini-2.5-flash") SUBAGENT_MODEL = os.environ.get("SUBAGENT_MODEL", "gemini-2.5-flash") REASONING_MODEL = os.environ.get("REASONING_MODEL", "gemini-2.5-flash") @@ -63,8 +60,6 @@ except ImportError as _e: return flash_model if mode != "heavy" else pro_model class TokenBudgetExceeded(Exception): pass -create_bq_table_if_not_exists() - # --------------------------------------------------------------------------- # OPAX MCP Client (inlina) diff --git a/agents/core-logic/app.py b/agents/core-logic/app.py index 949a98a..ba61a7d 100644 --- a/agents/core-logic/app.py +++ b/agents/core-logic/app.py @@ -10,6 +10,7 @@ from pathlib import Path from fastapi import FastAPI, HTTPException, Request from fastapi.responses import JSONResponse, FileResponse from pydantic import BaseModel +import vertexai logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) @@ -42,6 +43,7 @@ _budget_store: dict = {} @asynccontextmanager async def lifespan(app: FastAPI): logger.info(f"OSVauco agent '{APP_NAME}' starting up") + vertexai.init(project=PROJECT_ID, location=os.environ.get("GOOGLE_CLOUD_LOCATION", "us-central1")) create_bq_table_if_not_exists() logger.info(f"Static dir: {STATIC_DIR} (exists={STATIC_DIR.exists()})") yield