Ecco i requisiti: (non il caso reale, solo la versione molto semplificata)
-
C'è una sorta di promozione che dura per una settimana.
-
Gli utenti selezionati che possono beneficiare della promozione sono stati corretti all'inizio.
-
Ogni giorno, ogni utente selezionato riceve dei bonus (ad esempio alcuni punti di credito) dal sistema.
Sto pensando di implementarlo con lo schema di stato, pianificando alcuni eventi di aggiornamento con un ritardo di 24 ore. Dopo aver ricevuto l'evento, pianifica un altro evento di aggiornamento con un ritardo di 24 ore, fino al completamento.
Ma c'è un problema. Cosa succede se il processo (il server) che esegue il programma viene arrestato e riavviato 2 giorni dopo? Vorrei che il sistema si comportasse correttamente riconsegnando i bonus promessi dei 2 giorni mancati.
Come posso farlo?
Quindi, la mia vera domanda è: "Come modellate qualcosa in relazione a questi tipi di problemi (eventi correlati al tempo)?" Qual è la natura di questo problema? Potrei averlo descritto ma non lo riconosco molto bene.
Grazie in anticipo.