我正在构建一个不断收集数据的应用程序。我想为用户提供一个可定制的警报系统,在那里他们可以为他们想要通知的信息类型指定参数。最重要的是,我希望用户能够指定警报的频率(当它们进来时,每日摘要,每周摘要)。
在这个主题上有什么最佳实践或指南吗?
我的直觉告诉我,队列和工人将参与其中,但我不太确定如何参与。
我使用Parse.com作为我的数据库,也可能会用Lucene风格的搜索来索引所有的东西。因此,这打开了用户指定查询字符串以指定他/她想要什么警报的可能性。
发布于 2013-02-06 23:56:53
如果你使用的是Rails、Heroku和Parse,我们也做过类似的事情。我们实际上创建了第二个Heroku应用程序,它没有web dyno --它只有一个worker dyno。用户仍然可以访问相同的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/ 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来测试它。
https://stackoverflow.com/questions/14732687
复制相似问题