Reindexing depth-first, not breadth-first

I'm using the elasticsearch input/output plugin to reindex my time-based indicies.

Sometimes a reindex will fail half-way through. Unfortunately, there doesn't appear to be a good way to resume a reindex. If I've indexed 50million documents out of 100 million, I have to start all the way from the beginning.

Is there any way around that?

If not, is there some way to convince the ES input plugin to go depth first? That is, if I have, this input:

input {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "logstash-2016.*"
    docinfo => true
    scroll => "5m"
  }
}

I want Logstash to only work a few indicies at a time to completion before moving on to the next set. With the above config, Logstash starts reindexing all matching indicies in a breadth-first approach. If the reindex fails, I now have a six months worth of partially reindexed indicies and I need to do all the work over again. If it did depth-first (say only have 5 outstanding indicies in flight), then I could at least save the