← Навигация по документации

Обзор

Записи UPS, обработка которых завершилась неудачей, могут быть автоматически перепланированы. Если достигнуто максимальное количество попыток перепланирования или если автоматическое перепланирование не настроено вовсе, то повторные попытки обработки неудачных записей UPS больше не выполняются, и их статус устанавливается в CANCELED.

В этих двух случаях, если требуется активно предпринять соответствующие действия над такими неудачными записями UPS, можно настроить эту функцию, которая создаёт новые записи UPS, ссылающиеся на предыдущие неудачные записи обработки UPS (которые больше не повторно обрабатываются).

Конфигурация

Вариант использования

В целях тестирования этой функции ниже описан очень простой вариант использования с неудачной обработкой записей UPS применительно к функции Export received DICOM instances. Настройте всё, кроме назначения инструмента storescp.

Если для этой преднастроенной UPS Processing Rule DICOM_EXPORT не настроено автоматическое перепланирование или если достигнуто максимальное количество попыток перепланирования, то при неудаче обработки записи UPS будет создана новая запись UPS со статусом SCHEDULED.

Тест

createUPSOnCancel.png

canceledUPSIUID.png

canceledUPSIUID-in-ReplacedProcedureStepSeq.png

2020-09-02 16:42:01,560 INFO  [org.dcm4chee.arc.ups.impl.UPSServiceEJB] (EE-ManagedExecutorService-default-Thread-143) DCM4CHEE<-STORESCU(2): Create UPS[pk=309167, uid=2.25.231406933419414761065920802553045330855, state=SCHEDULED]
...................
2020-09-02 16:43:08,975 INFO  [org.dcm4chee.arc.ups.impl.UPSServiceEJB] (EE-ManagedExecutorService-default-Thread-151) DCM4CHEE: Update UPS[pk=309167, uid=2.25.231406933419414761065920802553045330855, state=IN PROGRESS]
...................
2020-09-02 16:43:09,049 INFO  [org.dcm4che3.net.Connection] (EE-ManagedExecutorService-default-Thread-151) Initiate connection from /0.0.0.0:0 to localhost:11115
2020-09-02 16:43:09,050 WARN  [org.dcm4chee.arc.ups.process.AbstractUPSProcessor] (EE-ManagedExecutorService-default-Thread-151) Failed to process UPS[uid=2.25.231406933419414761065920802553045330855]:
: org.dcm4chee.arc.ups.process.UPSProcessorException: org.dcm4che3.net.service.DicomServiceException: java.net.ConnectException: Connection refused
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.ups.process.AbstractUPSProcessor.process(AbstractUPSProcessor.java:142)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.ups.process.impl.UPSProcessingScheduler$ProcessWorkitems.processMatching(UPSProcessingScheduler.java:207)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.ups.process.impl.UPSProcessingScheduler$ProcessWorkitems.run(UPSProcessingScheduler.java:172)
    at org.jboss.as.ee@19.0.0.Final//org.jboss.as.ee.concurrent.ControlPointUtils$ControlledRunnable.run(ControlPointUtils.java:105)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.glassfish.javax.enterprise.concurrent//org.glassfish.enterprise.concurrent.internal.ManagedFutureTask.run(ManagedFutureTask.java:117)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:830)
    at org.glassfish.javax.enterprise.concurrent//org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:227)
Caused by: org.dcm4che3.net.service.DicomServiceException: java.net.ConnectException: Connection refused
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.store.scu.impl.CStoreSCUImpl.openAssociation(CStoreSCUImpl.java:103)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.store.scu.impl.CStoreSCUImpl.openMultipleAssocations(CStoreSCUImpl.java:190)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.store.scu.impl.CStoreSCUImpl.newRetrieveTaskSTORE(CStoreSCUImpl.java:176)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.store.scu.impl.CStoreSCUImpl$Proxy$_$$_WeldClientProxy.newRetrieveTaskSTORE(Unknown Source)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.ups.storescu.UPSStoreSCU.processA(UPSStoreSCU.java:88)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.ups.process.AbstractUPSProcessor.process(AbstractUPSProcessor.java:140)
    ... 10 more
Caused by: java.net.ConnectException: Connection refused
    at java.base/sun.nio.ch.Net.connect0(Native Method)
    at java.base/sun.nio.ch.Net.connect(Net.java:493)
    at java.base/sun.nio.ch.Net.connect(Net.java:482)
    at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:339)
    at java.base/java.net.Socket.connect(Socket.java:603)
    at org.dcm4che.net@5.22.5//org.dcm4che3.net.Connection.connect(Connection.java:1047)
    at org.dcm4che.net@5.22.5//org.dcm4che3.net.ApplicationEntity.connect(ApplicationEntity.java:629)
    at org.dcm4che.net@5.22.5//org.dcm4che3.net.ApplicationEntity.connect(ApplicationEntity.java:677)
    at deployment.dcm4chee-arc-ear-5.22.5-psql.ear//org.dcm4chee.arc.store.scu.impl.CStoreSCUImpl.openAssociation(CStoreSCUImpl.java:90)
    ... 15 more
...................
2020-09-02 16:43:09,081 INFO  [org.dcm4chee.arc.ups.impl.UPSServiceEJB] (EE-ManagedExecutorService-default-Thread-151) DCM4CHEE: Update UPS[pk=309167, uid=2.25.231406933419414761065920802553045330855, state=CANCELED]
...................
2020-09-02 16:43:09,060 INFO  [org.dcm4chee.arc.ups.impl.UPSServiceEJB] (EE-ManagedExecutorService-default-Thread-151) DCM4CHEE: Create UPS[pk=309168, uid=2.25.162456303411205275260854693124956179625, state=SCHEDULED]
...................