code: def divide_work(list_of_indexes, batch_size):
          
          grouped_indexes = [list_of_indexes[i:i + batch_size] for i in range(0, len(list_of_indexes), batch_size)]
          return [(batch[0], len(batch)) for batch in grouped_indexes]
docs: Given a sequential list of indexes split them into num_parts.
          :param list_of_indexes: [int] list of indexes to be divided up
          :param batch_size: number of items to put in batch(not exact obviously)
          :return: [(int,int)] list of (index, num_items) to be processed