Ho un sistema in PHP che funziona come un sistema di prenotazione. Una volta che la prenotazione è confermata ci sono un totale di 7 email / sms che devono essere inviati. I tempi di quando devono essere inviati sono già noti.
Ad esempio, 24 ore prima della data di prenotazione, una email si spegne.
In questo momento abbiamo un cron che controlla se è 24h < e l'e-mail 24 ore non è ancora uscito, spara un lavoro in coda e il lavoro tenta di inviare l'e-mail, se fallisce riprova ecc ..
Come posso ottenere un controllo migliore sulle mie notifiche e poter disattivare una singola notifica o modificare il contenuto della notifica per quella singola prenotazione? Sto usando un sistema di job-worker che invia le notifiche, posso solo inviarle in coda, quando sono pronte per essere inviate.
Stavo pensando di creare una tabella di db chiamata planned_notifications
con tutto il contenuto, un riferimento a booking_id e una colonna send_after
Posso quindi rimuovere una riga in questa tabella se non desidero che la notifica venga inviata, oppure posso modificare il contenuto in questa tabella per modificare il contenuto della notifica
Un cron è sul posto per prendere le righe dalla tabella planned_notification
nel sistema delle code.
Probabilmente non sono il primo con questo problema e sto cercando di ottenere alcune informazioni sulle "migliori pratiche" per questo tipo di problema