I've set up parallel re-indexing of an index.
Product.reindex(async: {wait: true})
I am running that code in a DelayedJob and waiting since it seems the alternative would be to periodically check on completion status and then promote the new index -- this seems simpler.
Confusingly, reindex never seems to complete. Despite the fact that I've tested it on an index with a single document, I continue to see log messages of "Batches left: 1".
I expect I am misunderstanding the documentation.