LSFManager: optionally stream worker stdout to master #168
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates the LSFManager to allow stdout and stderr streams of workers to be streamed (optionally) to master. The
bpeek
invocation when passed the-f
flag behaves similar totail -f
. This is the default set forbpeek_flags
. The resultant stream is then passed on to the Distributed module after parsing the worker connection string and some initial error handling for the case where job startup is delayed or failed. The Distributed module then takes over the subsequent display of worker's stdout messages on master.If streaming of worker's stdout messages is not desired, then the
-f
flag can be omitted frombpeek_flags
. Thenbpeek
behaves similar tocat
and is used only to read the initial connection string.As a positive side effect of this change, it now also avoids the earlier
redirect_stderr()
call which could have caused race conditions with multiple async invocations of thebpeek
method. Few methods are also renamed to have alsf_
prefix to avoid unnecessary clashes with other parts of the package.