fix: moved services initialization to main
This commit is contained in:
parent
59c5844f5b
commit
a50df466d0
3 changed files with 7 additions and 8 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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}")
|
||||||
|
|
|
||||||
|
|
@ -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():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue