29 lines
827 B
Python
Executable File
29 lines
827 B
Python
Executable File
#!/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 GovernorControl
|
|
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 = GovernorControl(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())
|