如何正确实现用户设置的时间/频率的重复任务

Rya*_*yan 10 ruby ruby-on-rails whenever redis

用户订阅包含最后视频的电子邮件,但他们还设置何时收到这些电子邮件.

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
Run Code Online (Sandbox Code Playgroud)

我们如何以用户在其时区选择的确切时间和频率发送电子邮件,而不会搞砸(例如发送双重电子邮件或丢失时间)

唯一的频率是每日和每周,如果每天,那么这一天是空的.

我使用redis作为数据库,让我知道如何以正确的方式做到这一点!

fme*_*dez 0

我认为您可以利用这个 gem 来实现此目的:https://github.com/bvandenbos/resque-scheduler

问候,