0

常にデータを収集するアプリケーションを構築しています。ユーザーが通知を受け取りたい情報の種類のパラメーターを指定できる、カスタマイズ可能なアラート システムをユーザーに提供したいと考えています。その上で、ユーザーがアラートの頻度を指定できるようにしたいと思います (アラートが来るたびに、毎日のダイジェスト、毎週のダイジェスト)。

このトピックに関するベスト プラクティスやガイドはありますか?

私の本能は、キューとワーカーが関与することを教えてくれますが、どのように関与するかは正確にはわかりません.

私はデータベースとして Parse.com を使用しており、Lucene スタイルの検索ですべてをインデックス化する可能性もあります。そのため、ユーザーがクエリ文字列を指定して、必要なアラートを指定する可能性が開かれます。

4

1 に答える 1

2

Rails と Heroku と Parse を使用している場合は、同様のことを行っています。実際に、Web dyno を持たない 2 つ目の Heroku アプリを作成しました。これにはワーカー 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開発マシンから実行してテストすることもできます。

于 2013-02-06T15:56:53.233 に答える