code improvements

This commit is contained in:
2025-03-06 10:58:14 +01:00
parent 3fd4b1f849
commit 5e0a485720
3 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ class Config:
@cached_property @cached_property
def basepath(self) -> Path: def basepath(self) -> Path:
if self._basepath is None: if self._basepath is None:
return Path(__file__).parent return Path.cwd()
return self._basepath return self._basepath
@cached_property @cached_property
@@ -15,8 +15,7 @@ def main() -> None:
async def _main() -> None: async def _main() -> None:
cwd = Path.cwd() config = Config()
config = Config(cwd)
log = getLogger('main', loglevel=config.loglevel.upper()) log = getLogger('main', loglevel=config.loglevel.upper())
if config.testmode: if config.testmode:
log.warning("starting in testmode, cpu adjustments have been disabled") log.warning("starting in testmode, cpu adjustments have been disabled")
+5 -2
View File
@@ -6,6 +6,7 @@ import asyncio
import signal import signal
from asyncio import Task from asyncio import Task
from functools import cached_property, partial from functools import cached_property, partial
from time import monotonic
class TriggerScheduler(AppClass): class TriggerScheduler(AppClass):
@@ -32,14 +33,16 @@ class TriggerScheduler(AppClass):
"""Run a callback_trigger with a specific name and check its status at a given interval.""" """Run a callback_trigger with a specific name and check its status at a given interval."""
await _trigger.async_run() await _trigger.async_run()
while True: while True:
self.log.debug("Checking state of trigger %s, state: %s", _trigger.name, _trigger.trigger_state) self.log.debug("callback trigger %s, state: %s", _trigger.name, _trigger.trigger_state)
await asyncio.sleep(_trigger.config.interval_in_seconds) await asyncio.sleep(_trigger.config.interval_in_seconds)
async def run_once_trigger(self, _trigger: Trigger) -> None: async def run_once_trigger(self, _trigger: Trigger) -> None:
"""Run a trigger with a specific name at a given interval.""" """Run a trigger with a specific name at a given interval."""
while True: while True:
start = monotonic()
_trigger.run() _trigger.run()
self.log.debug("Checking state of trigger %s, state: %s", _trigger.name, _trigger.trigger_state) end = monotonic()
self.log.debug("run once trigger %s, state: %s, duration: %.3f ms", _trigger.name, _trigger.trigger_state, (end - start) * 1000)
await asyncio.sleep(_trigger.config.interval_in_seconds) await asyncio.sleep(_trigger.config.interval_in_seconds)
def start_trigger(self, _trigger: Trigger) -> None: def start_trigger(self, _trigger: Trigger) -> None: