#!/usr/bin/env python3 import asyncio from pathlib import Path from logger import getLogger from mapping import trigger_mapping from config import Config from governor import Governor from schedule import TriggerScheduler async def main() -> None: basepath = Path(__file__).parent.resolve() config = Config(basepath) log = getLogger('main', loglevel=config.loglevel.upper()) if config.testmode: log.warning("starting in testmode, cpu adjustments have been disabled") governor = Governor(config) scheduler = TriggerScheduler(config) for triggertuple in config.triggertuples: _trigger = trigger_mapping[triggertuple.name](config) scheduler.start_trigger(_trigger) await scheduler.run() if __name__ == "__main__": asyncio.run(main())