-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] Subpipline stop without stopping parent pipline #291
Comments
Few modifications to get it works with a real case: In Subpipline.cs
In Pipline.cs
It probably still needs some improvements (DiagnosticsCollector). |
Hello, can you explain a bit more about your use case which would benefit from stopping and resuming subpipelines? Pausing, stopping, and resuming (sub)pipelines mid-process is a bit tricky given the way the system has been designed so far. Take a look at the long discussion in issue #256. Another idea is to look into the use of the Parallel Operator. This operator already has the ability to dynamically construct and tear down subpipelines according to the data flowing into it, and it's pretty extensible. It was carefully designed to do this in the right way. I wonder if you could use Parallel to achieve the goals in your scenario? |
Thanks for the answers and the information. What we want to do is to be able to remove a subpipeline without disposing the parent pipeline. At the moment, in our setup we have a dedicated computer for handling a kinect azure camera. We’ve done a WPF application that stream the data through the RendezVous system. Our next step is to able able to start and stop the kinect streaming with a command from a remote computer (as we might have configuration modification). We were looking at independents pipelines with Connector for the clock and the diagnostics. But maybe the ParallelOperator is the way to go, thanks! |
I've checked the ParallelOperator, it does not seems to work on my case as I have different type of streams. I may have found a better solution for my use case by adding a method in the Pipeline class :
|
I'm closing this issue, the implementation is available at https://github.com/SaacPSI/psi/tree/Pipline%2BExporter. |
Hello, I'm trying to figure if there is a way to stop a subpipline without stopping the parent pipline.
My goal is to start and stop subpipline from rendezvous system (ie a subpipline handling a kinect azure).
My understanding is that the parent pipline needs to remove the subpipline from
private ConcurrentQueue<PipelineElement> components
I've made a quick add in Subpipline class :
In Pipeline class, DeactivateComponents & DisposeComponents methods switch from private to protected and add
It probably needs some optimisation and cases handling but it works with
The text was updated successfully, but these errors were encountered: