У меня есть Event
модель с start_time
& end_time
из ndb.DateTimeProperty()
типы недвижимости.Повторяющиеся события в компании Google Datastore/NDB
Обычно я запрашиваю события с запросом вроде Event.query(Event.start_time >= START_OF_THE_MONTH, Event.start_time <= END_OF_THE_MONTH)
.
Что было бы лучшим подходом для добавления поддержки повторяющихся событий?
Первое, что приходит на ум, - это создать каждое из событий индивидуально, но с повторением события ежедневно - это много созданных объектов (и в какой момент они должны были быть созданы? В течение года? В течение 10 лет ?). Хотя этот подход заставит работать существующий код & запросов - это очень дорого и неэффективно.
Далее, создавая только одно сущность для всего повторяющегося события со свойством, в котором хранится правило того, как часто повторяется событие, а затем, помимо запроса выше, снова запрашивает модель для всех повторяющихся событий, но только до тех пор, пока не произойдет слишком много повторяющихся событий ...
Что еще существует, что подходит для ndb
и является масштабируемым, в идеале с минимальным количеством изменений существующего кода/запросов?
Сколько мероприятий вы планируете управлять каждый месяц? – janscas
@ janscas Я не ожидаю, что многие из них не должны превышать ~ 15-20 на пользователя, я просто беспокоюсь о сценариях худшего случая, когда пользователь может создавать несколько ежедневных повторяющихся событий (тестирование вещей или что-то еще, что немного замедлит приложение для этого пользователя, если создается сущность на событие и запрашивается ежемесячное представление). –