Mercurial > hg > orthanc-book
comparison 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 |
comparison
equal
deleted
inserted
replaced
641:a8925284df0b | 642:a76d83a00c68 |
---|---|
267 Jobs | 267 Jobs |
268 ---- | 268 ---- |
269 | 269 |
270 Check out the :ref:`advanced features of the REST API <jobs>`. | 270 Check out the :ref:`advanced features of the REST API <jobs>`. |
271 | 271 |
272 | |
273 | |
274 .. _stable-resources: | |
275 | |
276 Stable resources | |
277 ---------------- | |
278 | |
279 A DICOM resource (patient, study or series) is referred to as | |
280 **stable** if it has not received any new instance for a certain | |
281 amount of time. | |
282 | |
283 This amount of time is configured by the the option ``StableAge`` in | |
284 the :ref:`configuration file <configuration>`. | |
285 | |
286 When some resource becomes stable, an event is generated as a log | |
287 entry in the ``/changes`` :ref:`URI in the REST API <changes>`, a | |
288 :ref:`Lua callback <lua-callbacks>` is invoked, the callback function | |
289 registered by ``OrthancPluginRegisterOnChangeCallback()`` in | |
290 :ref:`C/C++ plugins <creating-plugins>` is executed, as well as the | |
291 :ref:`Python callback <python-changes>` registered by | |
292 ``orthanc.RegisterOnChangeCallback()``. | |
293 | |
294 The ``IsStable`` field is also available to get the status of an | |
295 individual patient/study/series using the REST API of Orthanc. | |
296 | |
297 In the multiple readers/writers scenario enabled since Orthanc 1.9.2, | |
298 each Orthanc server is considered separately: The "stable" information | |
299 is monitored by threads inside the Orthanc process, and is **not** | |
300 shared in the database. In other words, the "stable" information is | |
301 local to the Orthanc server that is queried. Synchronization between | |
302 multiple readers/writers must be implemented at a higher level | |
303 (e.g. using a distributed `message-broker system | |
304 <https://en.wikipedia.org/wiki/Message_broker>`__ such as RabbitMQ | |
305 that is fed by an Orthanc plugin). |