     @_processBatches(chunk).then -> cb()
 
   _processBatches: (products) ->
-    batchedList = _.batchList(products, 30) # max parallel elem to process
+    batchedList = _.batchList(products, @batchSize) # max parallel elem to process
     Promise.map batchedList, (productsToProcess) =>
       debug 'Ensuring existence of product type in memory.'
       @_ensureProductTypesInMemory(productsToProcess)

          uniqueEnumUpdateActions = @_filterUniqueUpdateActions(enumUpdateActions)
          @_updateProductType(uniqueEnumUpdateActions)
      .then =>
        # extract all skus from master variant and variants of all jsons in the batch
        skus = @_extractUniqueSkus(productsToProcess)
        predicate = @_createProductFetchBySkuQueryPredicate(skus)
        # Check predicate size by: Buffer.byteLength(predicate,'utf-8')
        # Todo: Handle predicate if predicate size > 8kb
        # Fetch products from product projections end point by list of skus.
        @client.productProjections
        .where(predicate)
        .staged(true)

    @ensureEnums = options.ensureEnums or false
    @filterUnknownAttributes = options.filterUnknownAttributes or false
    @ignoreSlugUpdates = options.ignoreSlugUpdates or false
    @batchSize = options.batchSize or 30
    @client = new SphereClient options.clientConfig
    @enumValidator = new EnumValidator @logger
    @unknownAttributesFilter = new UnknownAttributesFilter @logger
