diff Sphinx/source/plugins/python/periodic-execution.py @ 704:ba2403ebd4b7

moving python samples in separate files (3)
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 11 Jun 2021 10:24:08 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sphinx/source/plugins/python/periodic-execution.py	Fri Jun 11 10:24:08 2021 +0200
@@ -0,0 +1,24 @@
+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)