Skip to content

Commit 75915e3

Browse files
committed
Activate downstream IRIS processing via recipe parameter
1 parent 02a427e commit 75915e3

File tree

1 file changed

+9
-18
lines changed

1 file changed

+9
-18
lines changed

src/dlstbx/services/trigger.py

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class MrBumpParameters(pydantic.BaseModel):
7979
pdb: list[PDBFileOrCode]
8080
automatic: Optional[bool] = False
8181
comment: Optional[str] = None
82+
recipe: Optional[str] = None
8283

8384

8485
class DiffractionPlanInfo(pydantic.BaseModel):
@@ -125,6 +126,7 @@ class BigEPParameters(pydantic.BaseModel):
125126
automatic: Optional[bool] = False
126127
comment: Optional[str] = None
127128
spacegroup: Optional[str]
129+
recipe: Optional[str] = None
128130

129131
@pydantic.validator("spacegroup")
130132
def is_spacegroup_null(cls, v):
@@ -148,6 +150,7 @@ class BigEPLauncherParameters(pydantic.BaseModel):
148150
)
149151
automatic: Optional[bool] = False
150152
comment: Optional[str] = None
153+
recipe: Optional[str] = None
151154

152155

153156
class FastEPParameters(pydantic.BaseModel):
@@ -158,6 +161,7 @@ class FastEPParameters(pydantic.BaseModel):
158161
automatic: Optional[bool] = False
159162
comment: Optional[str] = None
160163
mtz: pathlib.Path
164+
recipe: Optional[str] = None
161165

162166

163167
class BestParameters(pydantic.BaseModel):
@@ -255,8 +259,6 @@ def trigger(self, rw, header, message):
255259
self.log.error("No trigger target defined in recipe")
256260
rw.transport.nack(header)
257261
return
258-
if "big_ep_launcher" in target:
259-
target = "big_ep_launcher"
260262
if not hasattr(self, "trigger_" + target):
261263
self.log.error("Unknown target %s defined in recipe", target)
262264
rw.transport.nack(header)
@@ -1033,7 +1035,7 @@ def trigger_fast_ep(
10331035
jp["comments"] = parameters.comment
10341036
jp["datacollectionid"] = dcid
10351037
jp["display_name"] = "fast_ep"
1036-
jp["recipe"] = "postprocessing-fast-ep-cloud"
1038+
jp["recipe"] = parameters.recipe or "postprocessing-fast-ep"
10371039
jobid = self.ispyb.mx_processing.upsert_job(list(jp.values()))
10381040
self.log.debug(f"fast_ep trigger: generated JobID {jobid}")
10391041

@@ -1099,7 +1101,7 @@ def trigger_mrbump(
10991101
jp["comments"] = parameters.comment
11001102
jp["datacollectionid"] = dcid
11011103
jp["display_name"] = "MrBUMP"
1102-
jp["recipe"] = "postprocessing-mrbump-cloud"
1104+
jp["recipe"] = parameters.recipe or "postprocessing-mrbump"
11031105
jobid = self.ispyb.mx_processing.upsert_job(list(jp.values()))
11041106
jobids.append(jobid)
11051107
self.log.debug(f"mrbump trigger: generated JobID {jobid}")
@@ -1177,23 +1179,12 @@ def trigger_big_ep_launcher(
11771179
self.log.info(f"Skipping big_ep trigger for {proposal.proposalCode} visit")
11781180
return {"success": True}
11791181

1180-
params = rw.recipe_step.get("parameters", {})
1181-
target = params.get("target")
1182-
11831182
jp = self.ispyb.mx_processing.get_job_params()
11841183
jp["automatic"] = parameters.automatic
11851184
jp["comments"] = parameters.comment
11861185
jp["datacollectionid"] = parameters.dcid
11871186
jp["display_name"] = parameters.pipeline
1188-
if target == "big_ep_launcher":
1189-
jp["recipe"] = "postprocessing-big-ep-launcher"
1190-
elif target == "big_ep_launcher_cloud":
1191-
jp["recipe"] = "postprocessing-big-ep-launcher-cloud"
1192-
else:
1193-
self.log.error(
1194-
f"big_ep_launcher trigger failed: Invalid target specified {target}"
1195-
)
1196-
return False
1187+
jp["recipe"] = parameters.recipe or "postprocessing-big-ep-launcher"
11971188
jobid = self.ispyb.mx_processing.upsert_job(list(jp.values()))
11981189
self.log.debug(f"big_ep_launcher trigger: generated JobID {jobid}")
11991190

@@ -1219,7 +1210,7 @@ def trigger_big_ep_launcher(
12191210
jpp["parameter_key"] = key
12201211
jpp["parameter_value"] = value
12211212
jppid = self.ispyb.mx_processing.upsert_job_parameter(list(jpp.values()))
1222-
self.log.debug(f"big_ep_cloud trigger: generated JobParameterID {jppid}")
1213+
self.log.debug(f"big_ep_launcher trigger: generated JobParameterID {jppid}")
12231214

12241215
self.log.debug(f"big_ep_launcher trigger: Processing job {jobid} created")
12251216

@@ -1329,7 +1320,7 @@ class BigEPParams(pydantic.BaseModel):
13291320
jp["comments"] = parameters.comment
13301321
jp["datacollectionid"] = dcid
13311322
jp["display_name"] = "big_ep"
1332-
jp["recipe"] = "postprocessing-big-ep-cloud"
1323+
jp["recipe"] = parameters.recipe or "postprocessing-big-ep"
13331324
jobid = self.ispyb.mx_processing.upsert_job(list(jp.values()))
13341325
self.log.debug(f"big_ep trigger: generated JobID {jobid}")
13351326

0 commit comments

Comments
 (0)