main
module core.main
function run
run() → None
The entrypoint of PYRA Core.
This function infinitely loops over a sequence of modules:
Read the config
Check whether
HeliosThread
andUploadThread
are runningPossibly start/stop the threads according to the config
Run
MeasurementConditions
moduleRun
EnclosureControl
moduleRun
SunTracking
moduleRun
OpusMeasurement
moduleRun
SystemChecks
module
The mainloop logs all exceptions and sends out emails when new exceptions occur and when all exceptions have been resolved.
Terminology: modules are executed one by one in each mainloop iteration. Threads are executed in parallel to the mainloop and are started/stopped according to the config.