diff Sphinx/source/faq/features.rst @ 642:a76d83a00c68

definition of stable resources
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 23 Apr 2021 10:34:13 +0200
parents 38face2a84a4
children 411e82bb3a9f
line wrap: on
line diff
--- a/Sphinx/source/faq/features.rst	Fri Apr 23 09:34:23 2021 +0200
+++ b/Sphinx/source/faq/features.rst	Fri Apr 23 10:34:13 2021 +0200
@@ -269,3 +269,37 @@
 
 Check out the :ref:`advanced features of the REST API <jobs>`.
 
+
+
+.. _stable-resources:
+
+Stable resources
+----------------
+
+A DICOM resource (patient, study or series) is referred to as
+**stable** if it has not received any new instance for a certain
+amount of time.
+
+This amount of time is configured by the the option ``StableAge`` in
+the :ref:`configuration file <configuration>`.
+
+When some resource becomes stable, an event is generated as a log
+entry in the ``/changes`` :ref:`URI in the REST API <changes>`, a
+:ref:`Lua callback <lua-callbacks>` is invoked, the callback function
+registered by ``OrthancPluginRegisterOnChangeCallback()`` in
+:ref:`C/C++ plugins <creating-plugins>` is executed, as well as the
+:ref:`Python callback <python-changes>` registered by
+``orthanc.RegisterOnChangeCallback()``.
+
+The ``IsStable`` field is also available to get the status of an
+individual patient/study/series using the REST API of Orthanc.
+
+In the multiple readers/writers scenario enabled since Orthanc 1.9.2,
+each Orthanc server is considered separately: The "stable" information
+is monitored by threads inside the Orthanc process, and is **not**
+shared in the database. In other words, the "stable" information is
+local to the Orthanc server that is queried.  Synchronization between
+multiple readers/writers must be implemented at a higher level
+(e.g. using a distributed `message-broker system
+<https://en.wikipedia.org/wiki/Message_broker>`__ such as RabbitMQ
+that is fed by an Orthanc plugin).