@Mark_Harwood Just come across a bug in this script. If data is processed in less than 1 second the script throws a division by zero error. It is an edge case but simple to defend against.
if numDocsProcessed % 10000 == 0:
elapsedSecs = int(time.time() - start)
if elapsedSecs == 0:
elapsedSecs = 1
dps = numDocsProcessed/elapsedSecs