code improvements
This commit is contained in:
@@ -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")
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user