【问题标题】:How to find out when user-created calendar events are about to start [Rails]如何找出用户创建的日历事件何时开始 [Rails]
【发布时间】:2010-07-05 17:31:33
【问题描述】:

我正在 Ruby on Rails 中构建一个在线日历,每当用户创建的活动即将开始/结束时(即距离会议 5 分钟路程,您会收到提醒),它需要发送电子邮件通知。确定活动何时开始的最佳方法是什么?是否会有一个 cron 任务检查所有事件以找出哪些事件在某个阈值(即 5 分钟)内开始? cron 任务对我来说似乎效率低下,所以我想知道什么可能是更好的解决方案。我的事件存储在 mySQL 数据库中。必须有一个设计模式......我只是不知道要搜索什么。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: ruby-on-rails events calendar scheduling


    【解决方案1】:

    您很可能会实施一些后台排队机制来实际传递通知 - 至少您肯定应该考虑这种方法。

    假设这一点,为什么不在事件创建时创建延迟通知作业,以便在相关事件开始或结束时交付。已经定期唤醒以寻找工作的后台队列将拾取并运行它们。

    但是采用这种方法需要您考虑以下(至少):

    • 如果关联的事件被移除,则移除排队的通知作业
    • 如果相关事件被修改(比如新时间),则修改通知作业
    • 确保排队系统的轮询解决方案不允许通知传递太晚而无用。

    如果您还没有为您的应用选择排队解决方案,您应该考虑these options

    【讨论】:

    • 谢谢!所以我猜我必须找到一个支持调度的排队系统......
    猜你喜欢
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2011-04-30
    • 2018-04-30
    • 1970-01-01
    相关资源
    最近更新 更多