fix: moved services initialization to main

This commit is contained in:
Piotr Dec 2026-04-14 02:27:31 +02:00
parent 59c5844f5b
commit a50df466d0
Signed by: stawros
GPG key ID: 74B18A3F0F1E99C0
3 changed files with 7 additions and 8 deletions

View file

@ -8,8 +8,6 @@ from starlette.responses import JSONResponse, Response
from karl.api.models import Request from karl.api.models import Request
from karl.core.injects import AutowireSupport from karl.core.injects import AutowireSupport
from karl.core.reload import ReloadService
from karl.core.woodpecker import Woodpecker
from karl.model.webhook import WoodpeckerEvent, ReloadEvent from karl.model.webhook import WoodpeckerEvent, ReloadEvent
router = APIRouter() router = APIRouter()
@ -22,8 +20,6 @@ async def root():
@cbv(router) @cbv(router)
class APIv1: class APIv1:
woodpecker: Woodpecker = Depends(AutowireSupport.woodpecker)
reload: ReloadService = Depends(AutowireSupport.reload)
bus: EventBus = Depends(AutowireSupport.bus) bus: EventBus = Depends(AutowireSupport.bus)
def __init__(self): def __init__(self):
@ -42,7 +38,7 @@ class APIv1:
await self.bus.dispatch(mapper.map(request)) await self.bus.dispatch(mapper.map(request))
return Response(status_code=201) return Response(status_code=201)
@router.get("/reload", summary="Manual service reload", response_model=None) @router.get("/reload", summary="Manual service reload")
async def reload(self, service: str = None) -> Response: async def reload(self, service: str = None) -> Response:
if service is None: if service is None:
return Response(status_code=400) return Response(status_code=400)

View file

@ -19,6 +19,7 @@ class ReloadService:
self._bus = bus self._bus = bus
self._git = GitService() self._git = GitService()
bus.on(ReloadEvent, self.on_reload) bus.on(ReloadEvent, self.on_reload)
logger.info("ReloadService initialized.")
async def on_reload(self, event: ReloadEvent): async def on_reload(self, event: ReloadEvent):
logger.info(f"Received ReloadEvent: {event.service}") logger.info(f"Received ReloadEvent: {event.service}")

View file

@ -3,6 +3,7 @@ import logging
from fastapi import FastAPI from fastapi import FastAPI
from injectable import load_injection_container from injectable import load_injection_container
from core.injects import AutowireSupport
from karl.config import get_settings from karl.config import get_settings
from karl.util.logging import HandlerFactory from karl.util.logging import HandlerFactory
@ -15,7 +16,7 @@ class KarlApplication:
_app = FastAPI(title="Karl", version="0.1.0") _app = FastAPI(title="Karl", version="0.1.0")
self._set_middlewares(_app) self._set_middlewares(_app)
self._set_routes(_app) self._set_routes(_app)
self._set_events(_app) self._init_services(_app)
self._app = _app self._app = _app
@ -55,8 +56,9 @@ class KarlApplication:
app.include_router(api_v1_router, prefix="/api/v1", tags=["v1"]) app.include_router(api_v1_router, prefix="/api/v1", tags=["v1"])
pass pass
def _set_events(self, app: FastAPI): def _init_services(self, app: FastAPI):
pass AutowireSupport.reload()
AutowireSupport.woodpecker()
def run(): def run():