我有一个托管在Heroku上的Rails应用程序,它具有发送延迟电子邮件的功能。
所以deliver_later! ActionMailer的方法能够在预定的时间异步发送电子邮件。
基本上我有一个名为NotificationMailer的邮件程序,当我这么做时
NotificationMailer.send_email(user).deliver_later!(wait_until: 5.minutes.from_now)
或
NotificationMailer.send_email(user).deliver_later!(wait_until: 30.minutes.from_now)
我可以在发送电子邮件之后的5分钟内收到电子邮件,距收到电子邮件的时间为30分钟,但是当我变得更加雄心勃勃并且
时NotificationMailer.send_email(user).deliver_later!(wait_until: (Time.now.tomorrow.noon - Time.now).seconds.from_now)
这意味着我应该在第二天中午收到,但我无法收到该电子邮件。我看了很多,并且我读到Heroku的dynos在长时间不活动时会睡觉,然后队列中的所有ActiveJobs也会睡觉。我认为这可能是问题的原因。我不确定如何解决这个问题,并希望得到任何建议!