Я разрабатываю приложение для каталогов на app-engine (python), и у меня возникли проблемы со слишком большим количеством операций записи.Первая проблема заключается в том, что у меня есть скрипт .NET, который проходит через файл Excel и отправляет данные на страницу в моем приложении.Когда я запустил его, он прошел около 700 записей, и я уже использовал 75% своей квоты на операции записи.То же самое произошло, когда я написал скрипт для обновления всех моих моделей, чтобы иметь поле поиска для каждого свойства.Я перешел с 75% заполненной квоты на 96% примерно за 20 секунд и получил временное ограничение квоты для слишком большого количества записей за короткий промежуток времени.Я думаю, что проблема может быть связана с индексами, но я новичок, когда дело доходит до Python и Appengine.Вот мои модели:
class AlumniEntry(db.Model):
"""Models an entry for a single alumni"""
author = db.UserProperty()
entered = db.DateTimeProperty(auto_now_add=True)
title = db.StringProperty()
first_name = db.StringProperty(required=True)
first_name_search = db.StringProperty()
maiden_name = db.StringProperty()
maiden_name_search = db.StringProperty()
spouse_name = db.StringProperty()
spouse_name_search = db.StringProperty()
grad_year = db.StringProperty(required=True)
elementary = db.StringProperty(choices=('yes', 'no', 'idk'), default='idk')
class LastName(db.Model):
entry = db.ReferenceProperty(AlumniEntry, collection_name='last_names')
last_name = db.StringProperty(required=True)
last_name_search = db.StringProperty()
class PhoneNumber(db.Model):
entry = db.ReferenceProperty(AlumniEntry, collection_name='phone_numbers')
number = db.PhoneNumberProperty(default=None)
class Email(db.Model):
entry = db.ReferenceProperty(AlumniEntry, collection_name='emails')
email = db.EmailProperty(default=None)
email_search = db.EmailProperty(default=None)
class Address(db.Model):
entry = db.ReferenceProperty(AlumniEntry, collection_name='addresses')
street = db.StringProperty()
street_search = db.StringProperty()
city = db.StringProperty()
city_search = db.StringProperty()
state = db.StringProperty()
state_search = db.StringProperty()
zip_code = db.StringProperty()
class UserAuth(db.Model):
added_by = db.StringProperty(required=True)
user_id = db.StringProperty(required=True)