splits a string into limited length of substrings, but keep last substring unsplit
It contains 3 common methods for processing batch tasks, PromiseAnyway, which runs with limit concurrency and resolve after all jobs done; Queue class, async job queue with concurrency control; batchSlice, Synchronized batch task processing