Woodpecker event registered
This commit is contained in:
parent
87e8af3f72
commit
29dfc13a48
3 changed files with 16 additions and 13 deletions
|
|
@ -1,22 +1,25 @@
|
||||||
import logging
|
import logging
|
||||||
|
from typing import Annotated
|
||||||
|
|
||||||
from injectable import injectable
|
from injectable import injectable, Autowired, autowired, inject, injectable_factory
|
||||||
|
|
||||||
from app.events import SimpleEventBus
|
from app.events import SimpleEventBus
|
||||||
from app.model.webhook import WebhookEvent
|
from app.model.webhook import WebhookEvent
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@injectable
|
|
||||||
class Woodpecker:
|
|
||||||
|
|
||||||
@SimpleEventBus.on(WebhookEvent)
|
@injectable(singleton=True)
|
||||||
def on_event(self, event): # TODO: caller nie działa -> brakuje instancji klasy?
|
class Woodpecker:
|
||||||
|
@autowired
|
||||||
|
def __init__(self, event_bus: Annotated[SimpleEventBus, Autowired]):
|
||||||
|
logger.info("Woodpecker initialized.")
|
||||||
|
event_bus.subscribe(WebhookEvent, self.on_ci_event)
|
||||||
|
|
||||||
|
def on_ci_event(self, event):
|
||||||
logger.info(f"Received event: {event}")
|
logger.info(f"Received event: {event}")
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@SimpleEventBus.on(WebhookEvent)
|
instance = Woodpecker(inject(SimpleEventBus))
|
||||||
def on_event2(event): # TODO: Tu działa
|
injectable_factory(Woodpecker)(lambda: instance)
|
||||||
logger.info(f"F2: Received event: {event}")
|
|
||||||
pass
|
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,9 @@ class SimpleEventBus:
|
||||||
self._executor = ThreadPoolExecutor()
|
self._executor = ThreadPoolExecutor()
|
||||||
|
|
||||||
def publish(self, event: Event) -> None:
|
def publish(self, event: Event) -> None:
|
||||||
for handler in self._handlers.get(type(event), []):
|
for handler in self._handlers.get(type(event), []):
|
||||||
# Fire-and-forget execution
|
# Fire-and-forget execution
|
||||||
self._executor.submit(handler, event)
|
self._executor.submit(handler, event)
|
||||||
|
|
||||||
def subscribe(self, event_type: type, handler: Callable) -> None:
|
def subscribe(self, event_type: type, handler: Callable) -> None:
|
||||||
if event_type not in self._handlers:
|
if event_type not in self._handlers:
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ logging:
|
||||||
app:
|
app:
|
||||||
host: "127.0.0.1"
|
host: "127.0.0.1"
|
||||||
port: 8081
|
port: 8081
|
||||||
reload: true
|
reload: false
|
||||||
git:
|
git:
|
||||||
path: "F:/IdeaProjects/paas/karl/.compose_repository"
|
path: "F:/IdeaProjects/paas/karl/.compose_repository"
|
||||||
branch: "main"
|
branch: "main"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue