DiamondLightSource / DiamondLightSource/sm-bluesky
Queue Data Structure & UI Layout
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 2d 3m
- Merged PRs (30d)
- 8
Description
Part of https://github.com/DiamondLightSource/sm-bluesky/issues/373 Queue Management & Experiment Control:
Evaluate and build a plan execution queue in the a panel of the interface, supporting plan stacking, insertion, deletion, and deferral.
### Goals
Acceptance criteria : What journeys should the user be able to complete to consider your feature done
Be as specific as you can, check them off once they work. Add more if you find more requirements during development. Issue should only be considered done after all of them are checked
- [ ] The user can assemble a series of bluesky plans, insert new ones, delete queued plans, or defer execution.
### Tasks
base on the goals, deduce the tasks required. check them off once they're done
> [!Note]
> A form of [queuing](https://diamondlightsource.github.io/daq-queuing-service/main/reference/rest-api.html) exist as as service that push task to blueapi. Making use of the BlueapiClient which mean it is possible to add callback and get data via blueapi here.
>```python
> tasks: dict[str, Task]
> queue: list[str]
> history: list[str]
> call_queue: list[BlueapiCall]
> call_history: list[BlueapiCall]
> ```
> - [ ] Queue Design Evaluation: Evaluate the data structure (Linked List vs. standard Queue) for optimal insertion, deletion, and deferral performance.
- [ ] BlueAPI Queue Connection: Connect the UI queue actions to the BlueAPI/RE queue endpoints.
- [ ] Panel UI: Build the Queue list layout displaying queued, active, and completed plan states.
### Screen shot
Contributor guide
Research direction
Start with the linked parent issue 373 and the daq-queuing-service REST API, then inspect the existing BlueapiClient integration and the queue data structures described here. Done means the UI supports assembling, inserting, deleting, and deferring Bluesky plans while displaying queued, active, and completed states.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100