Source code for paradrop.core.config.services

"""
Configure optional additional services such as telemetry.
"""
from paradrop.core.agent import reporting
from paradrop.lib.utils import datastruct

from twisted.internet.task import LoopingCall


telemetry_looping_call = None


[docs]def configure_telemetry(update): global telemetry_looping_call hostConfig = update.cache_get('hostConfig') enabled = datastruct.getValue(hostConfig, 'telemetry.enabled', False) interval = datastruct.getValue(hostConfig, 'telemetry.interval', 60) # Cancel the old looping call. if telemetry_looping_call is not None: telemetry_looping_call.stop() telemetry_looping_call = None if enabled and interval > 0: telemetry_looping_call = LoopingCall(reporting.sendTelemetryReport) telemetry_looping_call.start(interval, now=False)