-
Notifications
You must be signed in to change notification settings - Fork 94
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
Nodes with no inputs has empty events stream #500
Comments
Our current behavior is that an event stream is closed as soon as all of its inputs are closed. This way, we enable dataflows to finish "naturally" without requiring a manual stop. The "stop" event is only sent to signal a premature exit caused by a manual stop operation. When a node has no inputs, it will never receive any input events. So there is no way to prematurely stop the input stream, as it's already finished from the start. In other words, a node with no inputs always finishes "naturally" even if a manual stop command is sent because the manual stop always happens after the last input has already been closed. We can of course discuss whether we want to change this behavior. However, if we always wait for a manual stop command, it's no longer possible to have dataflows that finish "naturally". Could you give more details on your use case for a node without inputs? |
Sure thing. Basically, I have some source nodes that generates output without any input. I guess, the thing is I wish to make them stop when I click on Ctrl+C but I don't have any easy way to do that at the moment. We don't have to fix this just now. |
Some ideas how we could support this use case:
|
We're also using a number of input-only nodes, and this issue makes them somewhat difficult to shut down cleanly. Our current workaround is to use a |
If a node does not specify any inputs, it will have no event stream. And the event stream is always returning None.
This is however misleading as we might want to check the event stream for other event than INPUT event such as Stopping event.
Quick example
With an empty input dataflow description, will return immediately instead of timing out on 100s.
The text was updated successfully, but these errors were encountered: