From 14ee27f362a0416b26da7564c81a098b04243864 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Sun, 18 Oct 2026 08:53:14 +0200 Subject: [PATCH] broker rugnux live: the analysis is cut 60 s after the last image by default deadline_s defaulted to 0 (no cutoff), so a difficult crystal could hold the end of a collection for as long as the analysis took. 60 s bounds it; 0 still means no cutoff. The OpenAPI default, the broker and receiver defaults and the docs say 60; the generated clients are regenerated. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01PXc1zD1yxHqaR1DGdCTHL4 --- broker/JFJochServices.h | 2 +- broker/gen/model/Rugnux_settings.cpp | 2 +- broker/jfjoch_api.yaml | 2 +- broker/redoc-static.html | 6 +++--- docs/JFJOCH_BROKER.md | 2 +- docs/python_client/docs/RugnuxSettings.md | 2 +- frontend/src/client/zod.gen.ts | 2 +- receiver/JFJochReceiverService.h | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/broker/JFJochServices.h b/broker/JFJochServices.h index 20ef4eb6a..d4274dc29 100644 --- a/broker/JFJochServices.h +++ b/broker/JFJochServices.h @@ -17,7 +17,7 @@ struct JFJochServicesOutput { struct RugnuxLiveSettings { bool enable = false; int64_t reserved_cpus = 4; - double deadline_s = 0; // the analysis is cut this long after the last image (0 = never) + double deadline_s = 60; // the analysis is cut this long after the last image (0 = never) std::shared_ptr model; // null = no model int64_t model_size_bytes = 0; // as uploaded }; diff --git a/broker/gen/model/Rugnux_settings.cpp b/broker/gen/model/Rugnux_settings.cpp index 2c710e6dc..423b572f9 100644 --- a/broker/gen/model/Rugnux_settings.cpp +++ b/broker/gen/model/Rugnux_settings.cpp @@ -25,7 +25,7 @@ Rugnux_settings::Rugnux_settings() m_EnableIsSet = false; m_Reserved_cpus = 4L; m_Reserved_cpusIsSet = false; - m_Deadline_s = 0.0; + m_Deadline_s = 60.0; m_Deadline_sIsSet = false; } diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml index 59ccbf326..9d4bdb96e 100644 --- a/broker/jfjoch_api.yaml +++ b/broker/jfjoch_api.yaml @@ -2706,7 +2706,7 @@ components: type: number format: double minimum: 0.0 - default: 0.0 + default: 60.0 description: | Fixed cutoff: this long after the last image the analysis is cut, and the collection ends with what it has established (as `POST /cancel` after the last image does). 0 means no cutoff. diff --git a/broker/redoc-static.html b/broker/redoc-static.html index d0feb243c..b4a051ab5 100644 --- a/broker/redoc-static.html +++ b/broker/redoc-static.html @@ -836,14 +836,14 @@ Changing detector will set detector to Inactive state and will requ
http://localhost:5232/config/select_detector

Response samples

Content type
application/json
{
  • "detectors": [
    ],
  • "current_id": 0
}

Change rugnux live mode settings

This can only be done when detector is Idle, Error or Inactive states.

Authorizations:
bearerAuth
Request Body schema: application/json
enable
boolean
Default: false

Process DECTRIS rotation collections with rugnux live

reserved_cpus
integer <int64> >= 0
Default: 4

CPU threads left to the receiver and the image pusher while rugnux runs

-
deadline_s
number <double> >= 0
Default: 0

Fixed cutoff: this long after the last image the analysis is cut, and the collection ends +

deadline_s
number <double> >= 0
Default: 60

Fixed cutoff: this long after the last image the analysis is cut, and the collection ends with what it has established (as POST /cancel after the last image does). 0 means no cutoff.

Responses

Request samples

Content type
application/json
{
  • "enable": false,
  • "reserved_cpus": 4,
  • "deadline_s": 0
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get rugnux live mode settings and model status

Can be done anytime

+
http://localhost:5232/config/rugnux

Request samples

Content type
application/json
{
  • "enable": false,
  • "reserved_cpus": 4,
  • "deadline_s": 60
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get rugnux live mode settings and model status

Can be done anytime

Authorizations:
bearerAuth

Responses