Benutzer abonnieren E-Mails, die die letzten Videos enthalten, aber sie legen auch fest, wann diese E-Mails abgerufen werden sollen.Wie Sie wiederkehrende Aufgaben mit der vom Benutzer eingestellten Zeit/Frequenz korrekt implementieren
Subscription(user_id, frequency, day, time, time_zone)
user_id | frequency | day | time | time_zone
1 | daily | null | 16:00 | GMT
2 | weekly | friday | 11:00 | UTC
3 | weekly | monday | 18:00 | EST
Wie können wir von den Benutzern in ihrer Zeitzone der E-Mails an der genauen Zeit und Frequenz gewählt senden, ohne vermasseln (wie doppelte E-Mails zu senden oder die Zeit fehlt)
Die einzigen Frequenzen sind täglich und wöchentlich, wenn täglich, dann ist der Tag null.
Ich benutze redis als Datenbank dafür, lassen Sie mich wissen, wie man das richtig macht!
wenn Sie delayed_job verwendet haben - https://github.com/collectiveidea/delayed_job - Sie run_at auf jeden Job zu etwas einstellen Sie möchten (passen Sie Ihre Subskriptionszeit an, ein Job pro Zeitplan), und wenn der Job abgeschlossen ist, reiht es sich in die Warteschlange ein, basierend auf Ihrer Scheduler-Einstellung – house9
Wie genau müssen Sie sein? Wenn es von einer Minute ist, ist das akzeptabel? –