DiamondLightSource / DiamondLightSource/blueapi

Add support for getting the expected runtime of plans

Open
#1,571 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
13
Forks
13
Avg merge
2d 11h
Merged PRs (30d)
25

Description

Similarly to https://github.com/DiamondLightSource/blueapi/issues/1530, for the queuing usecase we would like to be able to ask plans what their expected runtime would be for a given set of parameters. From the plan side we would need to be able to define a function that can calculate this in some way, from the BlueAPI side we would then need to be able to associate the run time calculator with it's given plan.

From our perspective this could be the same endpoint as the validate e.g. we pass in a set of plans and we get if they are valid and how long we think they would take. If they are separate endpoints this is also fine but we want it to be performant enough that we can validate/check runtime of ~100 plans in <1s

## Acceptance Criteria
- We agree a way of adding this metadata to plans - may be worth discussing with the Bluesky community
- There is an endpoint in BlueAPI that lets us get this for a plan

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the approach in issue 1530 and the existing BlueAPI plan-validation entry point. Define, with the Bluesky community, how runtime metadata is attached to plans and whether validation and runtime estimation share an endpoint; done means a performant endpoint returns the expected runtime for a plan and its parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.