Conversation
|
Rough next steps in no particular order
|
|
910d91b to
b5c01e6
Compare
71bdbcf to
2371239
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1413 +/- ##
==========================================
+ Coverage 95.96% 96.31% +0.35%
==========================================
Files 45 46 +1
Lines 3323 3641 +318
==========================================
+ Hits 3189 3507 +318
Misses 134 134 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b5c32f7 to
40cbd59
Compare
9d061e9 to
b2936d4
Compare
|
Should probably have a way for plans run via the plan cache to use websockets. They currently default to using the existing message bus approach. Something like bc = BlueapiClient.from_config_file(...)
bc.use_ws(True)
bc.plans.count(detectors=[bc.devices.det])It's not ideal though so open to suggestions. A new client only config field? |
| # * Submit task | ||
| # * Pause | ||
| # * Resume | ||
| # * Abort |
There was a problem hiding this comment.
one more use case - stop or abort after current point, ensure data collected so far are saved. like finish earlier!
Using pydantic's dependency handling means they end up in the openapi schema even when auth is not being used.
|
Approved. It works locally for me as expected, but given the size of the PR I think we just get it into a release and let people play with it. |
As an intermediate step before (or instead of?) redesigning the server sub-process handling, add a websocket endpoint to run the same submit-listen-start approach that the client runs remotely. This is an experimental feature subject to change in minor releases in future. Everything is opt-in and existing behaviour should not change.
For the CLI, the websocket connection is enabled using the
--wsflag to the run subcommand. A stomp configuration will not be required in this case.For the
BlueapiClient, users should use therun_blockingmethod instead of therun_task. The signatures and behaviour are the same (other than the ignoredtimeoutparameter ofrun_task).On the server there is a new endpoint on the new
/api/v2/tree. This re-uses the existing submit and start methods on the task runner but adds a new subscribe method to pipe events from the worker process to the websocket.