v1.0.0-rc.129 (#36)
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m14s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m43s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m35s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m20s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m23s
Build Packages / Generate python client (push) Successful in 39s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m24s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 1m0s
Build Packages / build:rpm (rocky8) (push) Successful in 10m35s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m35s
Build Packages / build:rpm (rocky9) (push) Successful in 11m17s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m9s
Build Packages / Unit tests (push) Failing after 1h18m57s
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m14s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m43s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m35s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m20s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m23s
Build Packages / Generate python client (push) Successful in 39s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m24s
Build Packages / Create release (push) Has been skipped
Build Packages / Build documentation (push) Successful in 1m0s
Build Packages / build:rpm (rocky8) (push) Successful in 10m35s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m35s
Build Packages / build:rpm (rocky9) (push) Successful in 11m17s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m9s
Build Packages / Unit tests (push) Failing after 1h18m57s
This is an UNSTABLE release. The release has significant modifications and bug fixes, if things go wrong, it is better to revert to 1.0.0-rc.124. * jfjoch_broker: Significant improvements in TCP image socket, as a viable alternative for ZeroMQ sockets (only a single port on broker side, dynamically change number of writers, acknowledgments for written files) * jfjoch_broker: Delta phi is calculated also for still data in Bragg prediction * jfjoch_broker: Image pusher statistics are accessible via the REST interface * jfjoch_writer: Supports TCP image socket and for these auto-forking option Reviewed-on: #36 Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch> Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #36.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "../frame_serialize/CBORStream2Deserializer.h"
|
||||
#include "../broker/gen/model/Image_buffer_status.h"
|
||||
#include "../broker/gen/model/Plots.h"
|
||||
#include "../broker/gen/model/Broker_status.h"
|
||||
#include "../image_analysis/bragg_integration/CalcISigma.h"
|
||||
|
||||
void JFJochHttpReader::Close() {
|
||||
@@ -43,6 +44,53 @@ ImageBufferStatus JFJochHttpReader::GetImageBufferStatus() const {
|
||||
}
|
||||
}
|
||||
|
||||
BrokerStatus JFJochHttpReader::GetBrokerStatus() const {
|
||||
httplib::Client cli_cmd(addr);
|
||||
|
||||
auto res = cli_cmd.Get("/status");
|
||||
if (!res || res->status != httplib::StatusCode::OK_200)
|
||||
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid,
|
||||
"Could not get image buffer status");
|
||||
|
||||
try {
|
||||
org::openapitools::server::model::Broker_status input = nlohmann::json::parse(res->body);
|
||||
BrokerStatus ret{};
|
||||
ret.broker_version = input.getBrokerVersion();
|
||||
ret.gpu_count = input.getGpuCount();
|
||||
if (input.progressIsSet())
|
||||
ret.progress = input.getProgress();
|
||||
|
||||
if (input.getState() == "Inactive")
|
||||
ret.state = JFJochState::Inactive;
|
||||
else if (input.getState() == "Idle")
|
||||
ret.state = JFJochState::Idle;
|
||||
else if (input.getState() == "Measuring")
|
||||
ret.state = JFJochState::Measuring;
|
||||
else if (input.getState() == "Error")
|
||||
ret.state = JFJochState::Error;
|
||||
else if (input.getState() == "Busy")
|
||||
ret.state = JFJochState::Busy;
|
||||
else if (input.getState() == "Pedestal")
|
||||
ret.state = JFJochState::Calibration;
|
||||
|
||||
if (input.getMessageSeverity() == "info")
|
||||
ret.message_severity = BrokerStatus::MessageSeverity::Info;
|
||||
else if (input.getMessageSeverity() == "success")
|
||||
ret.message_severity = BrokerStatus::MessageSeverity::Success;
|
||||
else if (input.getMessageSeverity() == "warning")
|
||||
ret.message_severity = BrokerStatus::MessageSeverity::Warning;
|
||||
else if (input.getMessageSeverity() == "error")
|
||||
ret.message_severity = BrokerStatus::MessageSeverity::Error;
|
||||
if (input.brokerVersionIsSet())
|
||||
ret.broker_version = input.getBrokerVersion();
|
||||
|
||||
return ret;
|
||||
} catch (std::exception &e) {
|
||||
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid,
|
||||
"Could not parse image buffer status");
|
||||
}
|
||||
}
|
||||
|
||||
uint64_t JFJochHttpReader::GetNumberOfImages() const {
|
||||
std::unique_lock ul(http_mutex);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user