J'ai un modèle Event
avec start_time
& end_time
de ndb.DateTimeProperty()
types de propriété.Evénements récurrents dans le magasin de données/NDB de Google
Je recherche normalement des événements avec une requête comme Event.query(Event.start_time >= START_OF_THE_MONTH, Event.start_time <= END_OF_THE_MONTH)
.
Quelle serait la meilleure approche pour ajouter la prise en charge des événements récurrents? La première chose qui vient à l'esprit est de créer chacun des événements individuellement mais avec un événement qui se répète tous les jours - c'est beaucoup d'entités créées (et à quel point devront-elles être créées pendant une année? ?). Bien que cette approche fasse fonctionner les requêtes de code & existantes, elle est très coûteuse et inefficace. Ensuite, en créant une seule entité pour l'événement récurrent complet avec une propriété qui stocke une règle de fréquence à laquelle l'événement se répète, puis, en plus de la requête ci-dessus - interroger à nouveau le modèle pour tous les événements récurrents seulement jusqu'à un certain point où il y a trop d'événements récurrents ...
Quoi d'autre est-ce approprié pour ndb
et est évolutif, idéalement avec le moins de changements au code existant/requêtes?
Combien d'événements prévoyez-vous gérer tous les mois? – janscas
@janscas Je ne m'attends pas à beaucoup, ne devrait pas être plus de ~ 15-20 par utilisateur, je suis juste préoccupé par les pires scénarios où un utilisateur peut créer plusieurs événements récurrents quotidiens (tester des choses ou autre, qui ralentira un peu l'application pour cet utilisateur si une entité par événement est créée et qu'une vue mensuelle est demandée). –