using System.Collections.Generic;
using System.Threading.Tasks;
public static void Main()
for (int i = 0; i < products; i = i + batchLimit)
Console.WriteLine("Skip:" + i + " Take:" + batchLimit);
Console.WriteLine("-----------------");
int noOfBatch = (int)System.Math.Ceiling(Convert.ToDecimal(products) / batchLimit);
Console.WriteLine("noOfBatch: " + noOfBatch);
Parallel.For(0, noOfBatch, new ParallelOptions{MaxDegreeOfParallelism = 4}, i =>
var skip = i * batchLimit;
Console.WriteLine("Skip:" + skip + " Take:" + take);