def WriteRecords(entity_write_count, entity_write_batch_size, prefix ='', fromTaskQueue = False):
    start = datetime.datetime.now()

    counter = 0
    while entity_write_count > 0:
        entity_write_list = []

        if entity_write_count < entity_write_batch_size:
            batch_size = entity_write_count
        else:
            batch_size = entity_write_batch_size
        
        entity_write_count -= entity_write_batch_size

        if(batch_size > 1):
            for x in range(0, batch_size):  
                k = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(6))
                entity_write_list.append(Model( code = k, attr1 = '12345', id=k))
            #put entities to datastore
            ndb.put_multi(entity_write_list)
        else:
            #batch size of 1
            while True:
                k = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(6))
                k = prefix + k
                if does_code_exist(k) == False:
                    break
                else:
                    logging.info('code conflict ' + k + ' already exists.')
                break;    

            #logging.info('writing new code (#%d) %s' % (counter, k))
            ds = Model( code = k, attr1 = '12345', id=k)
            counter=counter+1
            ds.put()

    end = datetime.datetime.now()
    if(fromTaskQueue):
        logging.info ('written %d entities to datastore in taskqueue in %s mS' % (counter, str((end-start).total_seconds() * 1000)))