Rescheduling Tasks within Cluster - dcm4che/dcm4chee-arc-light GitHub Wiki

Overview

Assuming the user's requirement that there is more than one archive in a cluster of archives which share same database and LDAP, one can enable rescheduling of single/bulk task(s) on a different archive node than the node of the RESTful service. This is applicable to Queues/Export/External Retrieve/Diff tabs in Monitoring Page of Archive UI.

Cluster containing more than one archive devices and sharing a common database may necessitate the need to

  • be able to reschedule task(s) from one archive device of its own and of other archive devices Here the Reschedule RESTful service(s) shall forward requests for rescheduling Tasks which were initially scheduled on a different node than the node receiving the request to the other archive node, so it will be rescheduled on the node on which it was originally scheduled. There must be a Web Application with Service Class 'DCM4CHEE_ARC' configured for the other Archive Device, from which the URL can be derived.

  • be able to reschedule task(s) of one archive device to other archive device Here the Reschedule RESTful service(s) shall explicitly specify the device on which the task shall be rescheduled with optional query parameter 'newDeviceName'. If absent, the task shall be rescheduled at the same device as it was scheduled before, in accordance with the current behavior.

Configuration

Using Archive UI

  • If your archive device does not already contain connection with protocol HTTP, add it by going to Menu->Configuration, then on Devices page, Edit the dcm4chee-arc device. In Child Objects add (+) Network Connection. Enter appropriate values for Name, Hostname and Port fields. If one wants this connection to be of https type, one may also select the TLS Cipher Suites and Save. Next go to its Extensions and add (+) a Network Connection Extension. Select Protocol as HTTP and Save.
  • To add a Web Application, go back to dcm4chee-arc device, go to Device Extension in Extensions, in Child Objects add (+) a Web Application. Enter appropriate Name, select the http and/or https connections that were created for field Web Application Network Connection(s). Add Web Service Path as /dcm4chee-arc and select Web Service Class as DCM4CHEE_ARC and Save.
  • Repeat the above steps for all the other archive devices that are present in the cluster.

Using LDAP

One may either

  • create a LDIF file (e.g.):
    version: 1
    
    dn: cn=http,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
    objectClass: dcmNetworkConnection
    objectClass: dicomNetworkConnection
    dicomHostname: localhost
    cn: http
    dcmProtocol: HTTP
    dicomPort: 8080
    
    dn: cn=https,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
    objectClass: dcmNetworkConnection
    objectClass: dicomNetworkConnection
    dicomHostname: localhost
    cn: https
    dcmProtocol: HTTP
    dicomPort: 8443
    dicomTLSCipherSuite: TLS_RSA_WITH_AES_128_CBC_SHA
    dicomTLSCipherSuite: SSL_RSA_WITH_3DES_EDE_CBC_SHA
    
    dn: dcmWebAppName=TEST,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
    objectClass: dcmWebApp
    dcmWebAppName: TEST
    dcmWebServiceClass: DCM4CHEE_ARC
    dcmWebServicePath: /dcm4chee-arc
    dicomNetworkConnectionReference: cn=http,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
    dicomNetworkConnectionReference: cn=https,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org

and import it to the LDAP Server by using the ldapmodify command line utility.

One may refer to Network Connection, Network Connection Extension
and Web Application to understand description of attributes.

⚠️ **GitHub.com Fallback** ⚠️