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)))