view Sphinx/source/plugins/python/periodic-execution.py @ 1150:84d5e5f3c670

Added tag Orthanc-1.12.7 for changeset a23a5e08f3b4
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 07 Apr 2025 13:01:12 +0200
parents ba2403ebd4b7
children
line wrap: on
line source

import orthanc
import threading

TIMER = None

def Hello():
    global TIMER
    TIMER = None
    orthanc.LogWarning("In Hello()")
    # Do stuff...
    TIMER = threading.Timer(1, Hello)  # Re-schedule after 1 second
    TIMER.start()

def OnChange(changeType, level, resource):
    if changeType == orthanc.ChangeType.ORTHANC_STARTED:
        orthanc.LogWarning("Starting the scheduler")
        Hello()

    elif changeType == orthanc.ChangeType.ORTHANC_STOPPED:
        if TIMER != None:
            orthanc.LogWarning("Stopping the scheduler")
            TIMER.cancel()

orthanc.RegisterOnChangeCallback(OnChange)