【问题标题】:How to prevent a job from sending mailers more than once per hour?如何防止工作每小时发送邮件超过一次?
【发布时间】:2019-02-01 22:34:24
【问题描述】:

我有一个托管在 Heroku 上的 rails 应用程序。每小时,Heroku Scheduler 都会查找在未来 23 到 24 小时之间开始的事件,并向参与者发送一封提醒电子邮件。这通常工作得很好,但最近,一个小时内发送了 7 次事件提醒。我的猜测是因为服务器在那一小时内被重置了几次。防止这种情况在未来发生的最好方法是什么?我正在考虑制作一个数据库表来跟踪上次提醒作业的运行时间,以避免这些作业每小时运行一次以上。这是一种合理的方法吗?

【问题讨论】:

    标签: ruby-on-rails heroku


    【解决方案1】:

    如果只有一个提醒,您可以将一个简单的布尔值存储在数据库中存储事件的同一张表中,例如 hashadreminder。

    编辑:

    把问题重读几遍

    如果您想在参与者的基础上执行此操作,那么具有参与者 ID 和 bool 的不同表将最有效地确保如果不是每个人都在第一次运行时收到电子邮件,那么他们会在后续运行时收到。

    【讨论】:

      猜你喜欢
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多