Closed havocp closed 10 years ago
So generally looks good. I think I've already seen some inconsistencies in detecting when a task is done if it returns events too fast on the client. I think we may need to alter the sbt.Client api a bit when running tasks so it provides more than one Future you can wait on, like result
, exceutionId
as well as isStarted
, isFinished
.
I think we should add a TODO in there now, as the new flatMap increases the likelihood of missing the event.
Otherwise LGTM. Nice work :)
I think we're providing enough API that the multiple futures (task result, isStarted, isFinished, etc.) could be implemented, but yeah there could be a convenience API which would basically keep a client-side model of the work queue and results. I was thinking that was part of the "cache" API we've been talking about. What you have to do in essence is always keep a client copy of the execution queue.
Hmm, ok. So for now we should mark a TODO on the sbt-terminal stuff and I'll rip into that (it's one of my blockers before a release), and then this is good to merge.
new commits pushed, I think I got all the comments
Great, thanks! Going to wait for TravisCI, then merge.
Wait, no TravisCI? DOH!!! I'll merge now, and work on travis ci
With these changes people can monitor the execution queue and know which tasks are part of which execution request. Also some little related fixes/cleanups in their own commits.