Skip to content

Commit 33d84a2

Browse files
committed
Migrated 'atlas_update' feedback-callback block to its own workflows module
1 parent 00730cb commit 33d84a2

File tree

3 files changed

+34
-20
lines changed

3 files changed

+34
-20
lines changed

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ GitHub = "https://github.com/DiamondLightSource/python-murfey"
101101
[project.entry-points."murfey.config.extraction"]
102102
"murfey_machine" = "murfey.util.config:get_extended_machine_config"
103103
[project.entry-points."murfey.workflows"]
104+
"atlas_update" = "murfey.workflows.register_atlas_update:run"
104105
"clem.align_and_merge" = "murfey.workflows.clem.align_and_merge:submit_cluster_request"
105106
"clem.process_raw_lifs" = "murfey.workflows.clem.process_raw_lifs:zocalo_cluster_request"
106107
"clem.process_raw_tiffs" = "murfey.workflows.clem.process_raw_tiffs:zocalo_cluster_request"

src/murfey/server/feedback.py

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2013,26 +2013,6 @@ def feedback_callback(header: dict, message: dict, _db=murfey_db) -> None:
20132013
if murfey.server._transport_object:
20142014
murfey.server._transport_object.transport.ack(header)
20152015
return None
2016-
elif message["register"] == "atlas_update":
2017-
if murfey.server._transport_object:
2018-
murfey.server._transport_object.do_update_atlas(
2019-
message["atlas_id"],
2020-
message["atlas"],
2021-
message["atlas_pixel_size"],
2022-
message["sample"],
2023-
)
2024-
murfey.server._transport_object.transport.ack(header)
2025-
if dcg_hooks := entry_points().select(
2026-
group="murfey.hooks", name="data_collection_group"
2027-
):
2028-
try:
2029-
for hook in dcg_hooks:
2030-
hook.load()(message["dcgid"], session_id=message["session_id"])
2031-
except Exception:
2032-
logger.error(
2033-
"Call to data collection group hook failed", exc_info=True
2034-
)
2035-
return None
20362016
elif message["register"] == "processing_job":
20372017
murfey_session_id = message["session_id"]
20382018
logger.info("registering processing job")
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import logging
2+
3+
from backports.entry_points_selectable import entry_points
4+
from sqlmodel.orm.session import Session as SQLModelSession
5+
6+
from murfey.server import _transport_object
7+
8+
logger = logging.getLogger("murfey.workflows.register_atlas_update")
9+
10+
11+
def run(
12+
message: dict,
13+
murfey_db: SQLModelSession, # Defined for compatibility but unused
14+
demo: bool = False,
15+
):
16+
if _transport_object is None:
17+
logger.error("Unable to find transport manager")
18+
return {"success": False, "requeue": False}
19+
_transport_object.do_update_atlas(
20+
message["atlas_id"],
21+
message["atlas"],
22+
message["atlas_pixel_size"],
23+
message["sample"],
24+
)
25+
if dcg_hooks := entry_points().select(
26+
group="murfey.hooks", name="data_collection_group"
27+
):
28+
try:
29+
for hook in dcg_hooks:
30+
hook.load()(message["dcgid"], session_id=message["session_id"])
31+
except Exception:
32+
logger.error("Call to data collection group hook failed", exc_info=True)
33+
return {"success": True}

0 commit comments

Comments
 (0)