Repository navigation
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? |
fajinyuan
left a comment
There was a problem hiding this comment.
please see my comments.
| # * 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!
|
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.