Skip to content

Commit 842aa86

Browse files
Use task response (#93)
* Use task response model to acknowledge a task * Update CLI
1 parent c6ee80a commit 842aa86

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

src/blueapi/cli/amq.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
DeviceResponse,
88
PlanRequest,
99
PlanResponse,
10+
TaskResponse,
1011
)
1112
from blueapi.worker import TaskEvent
1213

@@ -40,9 +41,10 @@ def on_event_wrapper(ctx: MessageContext, event: TaskEvent) -> None:
4041
self.app.destinations.topic("public.worker.event.task"), on_event_wrapper
4142
)
4243
# self.app.send("worker.run", {"name": name, "params": params})
43-
task_id = self.app.send_and_recieve(
44-
"worker.run", {"name": name, "params": params}
45-
).result(timeout=5.0)
44+
task_response = self.app.send_and_recieve(
45+
"worker.run", {"name": name, "params": params}, reply_type=TaskResponse
46+
).result(5.0)
47+
task_id = task_response.task_name
4648

4749
if timeout is not None:
4850
complete.wait(timeout)

src/blueapi/service/app.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
PlanModel,
1717
PlanRequest,
1818
PlanResponse,
19+
TaskResponse,
1920
)
2021

2122
logging.basicConfig(level=logging.INFO)
@@ -68,7 +69,8 @@ def _on_run_request(self, message_context: MessageContext, task: RunPlan) -> Non
6869

6970
reply_queue = message_context.reply_destination
7071
if reply_queue is not None:
71-
self._template.send(reply_queue, name)
72+
response = TaskResponse(name)
73+
self._template.send(reply_queue, response)
7274

7375
def _get_plans(self, message_context: MessageContext, message: PlanRequest) -> None:
7476
plans = list(map(PlanModel.from_plan, self._ctx.plans.values()))

0 commit comments

Comments
 (0)