我正在构建一个不断收集数据的应用程序。我想为用户提供可自定义的警报系统,他们可以为他们想要通知的信息类型指定参数。最重要的是,我希望用户能够指定警报的频率(因为它们进来,每日摘要,每周摘要)。
是否有关于此主题的最佳做法或指南?
我的直觉告诉我队伍和工人都会参与,但我不确定如何。
我正在使用Parse.com作为我的数据库,也可能使用Lucene式搜索索引所有内容。这样就可以让用户指定查询字符串来指定他/她想要的警报。
答案 0 :(得分:2)
如果您正在使用Rails和Heroku以及Parse,我们已经做了类似的事情。我们实际上创建了第二个Heroku应用程序,它没有web dyno - 它只有一个工作器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 / 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
来测试它。