Skip to content

Configurable status updates and listener

Compare
Choose a tag to compare
@rosesyrett rosesyrett released this 10 Nov 14:19
· 101 commits to main since this release
d50a439

Changes in this release:

-> Remove listener pod

Change helm deployment so we don't spin up a pod in the blueapi
deployment that just listens to documents.
At the moment, a deployment using release 0.3.14 fails due to
securityContext issues, which when fixed still seem to cause problems.
This should be investigated in future.

-> Add configuration option to disable status updates via message bus

As well as data documents, blueapi produces events when the status
objects monitored by the run engine are updated. These events are useful
for creating progress bars and similar updates. Unfortunately it seems
very easy to unintentionally make plans/devices produce a very large
number of these updates. The handling of all of these results in log
spam and high CPU usage.

We're seeing this now on I22 and have seen similar problems before (see
#111). I think the easy way to make debugging easier is to make the
status update handling optional and easy to turn off via config. To that
end...

Changes:

Add config option to disable status events
Make the worker only hook into the run engine if this option is marked
as true

-> Add Document Listener

Add CLI command to listen for documents from the message bus and print
them to the console. Also add it to helm deployment for blueapi

-> Allow passing kwargs to make_all_devices for dodal modules (again)

Functionality added in
#304 and being used
in
hyperion
got removed in
076da45
. It doesn't look like there was a clear reason for this removal of
functionality so I think it should be reinstated.

-> Pin fastapi to <0.99 to use openapi <3.1