【问题标题】:Pattern for Google Alerts-style serviceGoogle 快讯式服务的模式
【发布时间】:2013-01-21 20:45:12
【问题描述】:

我正在构建一个不断收集数据的应用程序。我想为用户提供一个可定制的警报系统,他们可以在其中为他们想要通知的信息类型指定参数。最重要的是,我希望用户能够指定警报的频率(当它们出现时,每日摘要,每周摘要)。

有没有关于这个主题的最佳实践或指南?

我的直觉告诉我排队和工人会参与其中,但我不确定如何。

我使用 Parse.com 作为我的数据库,并且还可能使用 Lucene 风格的搜索来索引所有内容。这样就可以让用户指定查询字符串来指定他/她想要的警报。

【问题讨论】:

    标签: email parse-platform alerts google-alerts


    【解决方案1】:

    如果您使用的是 Rails、Heroku 和 Parse,我们已经做了类似的事情。我们实际上创建了第二个没有网络测功机的 Heroku 应用程序——它只有一个工作人员测功机。该用户仍然可以访问同一个 Parse.com 帐户并在 rake 任务中运行其所有任务,就像他们在此处指定的那样:

    https://devcenter.heroku.com/articles/scheduler#defining-tasks

    我们有几个类可以处理繁重的工作:

    class EmailWorker
      def self.send_daily_emails
        # queries Parse for what it needs, loops through, sends emails
      end
    end
    

    我们在 lib/tasks 中也有 scheduler.rake:

    require 'parse-ruby-client'
    task :send_daily_emails => :environment do
      EmailWorker.send_daily_emails
    end
    

    我们在 Heroku 中的调度器面板是这样的:

    rake send_daily_emails
    

    我们将其设置为每晚运行。请注意,面向公众的 Heroku Web 应用程序不执行此工作,而是“调度程序”版本。您只需要确保每次更新代码时都推送到两者。这种方式是免费的,但如果您想组合它们,这很简单,因为它们是相同的代码库。

    您也可以通过在您的开发机器上运行 heroku run rake send_daily_emails 来测试它。

    【讨论】:

    • 你应该使用 IronWorker 来处理这样的事情。方式更便宜,性能更好,更灵活。我可以帮忙。
    • 看起来很有趣。不过,比免费便宜吗? :)
    • Iron.io 有一个慷慨的免费计划。而且,如果您超过等级,则比每月支付 Heroku dyno 便宜得多。随用随付...
    • 唯一的问题是它无法访问我的 Rails 模型等等,所以我必须构建一些迷你应用程序来处理我想做的事情。在这一点上,不值得,但如果我们有扩展问题需要考虑。
    猜你喜欢
    • 2015-08-05
    • 2011-07-19
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2017-03-27
    • 1970-01-01
    • 2021-11-01
    相关资源
    最近更新 更多