A service to queue DAQ experiments and chain BlueAPI calls
The service combines a queue with a worker that consumes items in the queue and sends them to blueapi. A REST API is exposed to interact with the queue, allowing users to add, move, cancel, and get information about, items in the queue, and pause/unpause the queue.
| What | Where |
|---|---|
| Source | https://github.com/DiamondLightSource/daq-queuing-service |
| PyPI | pip install daq-queuing-service |
| Docker | docker run ghcr.io/diamondlightsource/daq-queuing-service:latest |
| Documentation | https://diamondlightsource.github.io/daq-queuing-service |
| Releases | https://github.com/DiamondLightSource/daq-queuing-service/releases |
The server is build with FastAPI. For development and testing, it may be useful to have blueapi and the queue service running locally. To get started, install dependencies into a virtual environment and run the app:
uv sync --group dev
source .venv/bin/activate
podman-compose -f tests/system_tests/compose.yaml up # Local rabbitmq
blueapi --config tests/test_data/test_blueapi_config.yaml serve # Local blueapi
daq-queuing-service -p 8001 --dev # Local queue serviceSee https://diamondlightsource.github.io/daq-queuing-service for more detailed documentation.