Sono in procinto di scrivere un'app Web per tenere traccia delle spese e che sarà multiutente.
Tutto va bene con una sola spesa, ma sto facendo fatica a trovare il modo migliore per rappresentare le spese ricorrenti, cioè le spese di pari importo e categoria che si ripetono regolarmente fino all'annullamento.
Sto pensando di modellare spese ricorrenti come un'istanza di un più generico ExpenseGenerator
che come proprietà ha una data di inizio e un modello di frequenza, che quindi creerà automaticamente uno o più Expense
s, a partire dalla data di inizio del generatore.
Dato che questo approccio è corretto (in caso contrario, suggerire altre opzioni), non sono sicuro su come attivare la creazione delle spese. Devo creare qualcosa come un cronjob che crea la nuova spesa non appena si verifica o controlla lo stato del generatore ogni volta che un utente effettua il login?
Entrambe le soluzioni hanno qualche problema:
- Cronjob: questo creerà un lavoro per ogni spesa esistente di ciascun utente esistente, inoltre dovrei occuparmi di diversi fusi orari, ora legale e così via.
- Creazione all'accesso: se l'utente non effettua l'accesso per un lungo periodo, potrebbero esserci molte spese da creare.
Sto andando nella direzione giusta o c'è un approccio più efficiente per modellare eventi ricorrenti e risolvere tutti questi problemi?