fix: Locks verbosity
This commit is contained in:
parent
846f22b8e1
commit
c937893fbd
2 changed files with 8 additions and 3 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
logging:
|
logging:
|
||||||
level: "TRACE"
|
level: "TRACE"
|
||||||
path: "../../logs/karl.log"
|
path: "logs/karl.log"
|
||||||
app:
|
app:
|
||||||
host: "127.0.0.1"
|
host: "127.0.0.1"
|
||||||
port: 8081
|
port: 8081
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
import logging
|
import logging
|
||||||
from collections import deque
|
from collections import deque
|
||||||
from multiprocessing import Process, Lock
|
from multiprocessing import Process
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from threading import RLock
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
from injectable import injectable, Autowired, autowired
|
from injectable import injectable, Autowired, autowired
|
||||||
|
|
@ -71,12 +72,13 @@ class Woodpecker:
|
||||||
self._docker = DockerService()
|
self._docker = DockerService()
|
||||||
self._runner: WoodpeckerRunner | None = None
|
self._runner: WoodpeckerRunner | None = None
|
||||||
self._pending = deque()
|
self._pending = deque()
|
||||||
self._lock = Lock()
|
self._lock = RLock()
|
||||||
logger.info("Woodpecker initialized.")
|
logger.info("Woodpecker initialized.")
|
||||||
|
|
||||||
def on_ci_event(self, event: WoodpeckerEvent):
|
def on_ci_event(self, event: WoodpeckerEvent):
|
||||||
logger.info(f"Received event: {event}")
|
logger.info(f"Received event: {event}")
|
||||||
with self._lock:
|
with self._lock:
|
||||||
|
logger.debug("Lock acquired [on-ci-event]")
|
||||||
if len(self._pending) > 0 or self._runner is not None:
|
if len(self._pending) > 0 or self._runner is not None:
|
||||||
self._pending.append(event)
|
self._pending.append(event)
|
||||||
return
|
return
|
||||||
|
|
@ -84,6 +86,7 @@ class Woodpecker:
|
||||||
|
|
||||||
def _start_runner(self, event: WoodpeckerEvent):
|
def _start_runner(self, event: WoodpeckerEvent):
|
||||||
with self._lock:
|
with self._lock:
|
||||||
|
logger.debug("Lock acquired [start-runner]")
|
||||||
self._runner = WoodpeckerRunner(self._git, self._docker, self._mo,
|
self._runner = WoodpeckerRunner(self._git, self._docker, self._mo,
|
||||||
self._on_runner_completed, self._on_runner_error)
|
self._on_runner_completed, self._on_runner_error)
|
||||||
self._runner.process_event(event)
|
self._runner.process_event(event)
|
||||||
|
|
@ -92,6 +95,7 @@ class Woodpecker:
|
||||||
logger.info("Runner completed.")
|
logger.info("Runner completed.")
|
||||||
self._runner.join()
|
self._runner.join()
|
||||||
with self._lock:
|
with self._lock:
|
||||||
|
logger.debug("Lock acquired [on-runner-completed]")
|
||||||
self._runner = None
|
self._runner = None
|
||||||
if len(self._pending) > 0:
|
if len(self._pending) > 0:
|
||||||
event = self._pending.popleft()
|
event = self._pending.popleft()
|
||||||
|
|
@ -101,6 +105,7 @@ class Woodpecker:
|
||||||
logger.error(f"Runner error: {t}", exc_info=True)
|
logger.error(f"Runner error: {t}", exc_info=True)
|
||||||
self._runner.join()
|
self._runner.join()
|
||||||
with self._lock:
|
with self._lock:
|
||||||
|
logger.debug("Lock acquired [on-runner-error]")
|
||||||
self._runner = None
|
self._runner = None
|
||||||
if len(self._pending) > 0:
|
if len(self._pending) > 0:
|
||||||
event = self._pending.popleft()
|
event = self._pending.popleft()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue