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.
Currently, if the task list is empty, the KVS server will shut down before the compute context has a chance to connect, resulting in an exception. If we know we have an empty task list, then it seems sensible to never start the compute context. This is what this PR implements.
Knowing if we have an empty task list is a little subtle. We need to parse the task list, e.g. to expand any repeats, to know if the list is actually empty. And the task list can be any iterable, including a generator, which seems like a nice property to preserve. So this PR essentially implements a "peeking" generator that looks one item ahead, letting us know if the task list is exhausted. If so, we set a property on the generator that calling code can query.
Fixes #36.