### Summary
This example had two issues:
- the path to the dora rerun executable in the dataflow file was wrongly
set
- it wasn't able to be run via cargo run command (only using uv
installation + dora build + dora run)
### Test it
via cargo run:
`cargo run --example rerun-viewer`
via uv setup:
```
uv venv -p 3.11 --seed
uv pip install -e ../../apis/python/node --reinstall
dora build dataflow.yml --uv
dora run dataflow.yml --uv
```
We don't wait for dynamic nodes when the dataflow is done otherwise, so they might stop after the dataflow is done. This commit fixes a daemon error that happened in this case.
The coordinator now sends an immediate `DataflowStartTriggered` reply when receiving a `DataflowStart` command. This enables the CLI to directly attach to the dataflow and observe the build output.
To wait until the build/spawning is done, this commit introduces a new `WaitForSpawn` command, to which the coordinator replies with a `DataflowSpawned` message once the node has been started. We use this command for the `dora build` command.
Instead of running all the build commands directly, run them on their intended target machines through the coordinator.
This commit is a breaking change because a coordinator connection is now required for `dora build`.
Resolves#966
This PR improves current benchmark implementation by increasing the
queue size for throughput testing, and adding time gap between
throughput tests of different sizes to ensure accurate measurement.
Besides, a warning message will be logged now on discarding events due
to queue size limit.
This PR adds the sub-command uninstall under the self command. It also
adds the missing discription of the Self command. I have used
self-replace crate for this purpose.