resque
gem を使用してバックグラウンド ジョブを処理する Ruby on Rails アプリがあります。ユーザーに、完了までに 10 分以上かかるバックグラウンド ジョブをトリガーさせます (大量のデータを処理しています)。ジョブが完了したときにユーザーに警告する最良の方法は何ですか?
ここでの使用に関する回答を見てきましたresque-status
が、それが唯一の解決策ですか? または、通常の方法でユーザーに警告する別の方法がありresque
ますか (既に実装しています)。
resque
gem を使用してバックグラウンド ジョブを処理する Ruby on Rails アプリがあります。ユーザーに、完了までに 10 分以上かかるバックグラウンド ジョブをトリガーさせます (大量のデータを処理しています)。ジョブが完了したときにユーザーに警告する最良の方法は何ですか?
ここでの使用に関する回答を見てきましたresque-status
が、それが唯一の解決策ですか? または、通常の方法でユーザーに警告する別の方法がありresque
ますか (既に実装しています)。
ユーザーに非同期で通知する場合は、次の3つのオプションがあります。
私が考えることができるのは、これらだけです。私は個人的に1と2の組み合わせで行きます。完了時に電子メールを送信し、次にログインしたときに通知します(通知にリンクを提供します)。
You can use a gem called "resque-status".
Using this gem you can easily get a job's status:
status = Resque::Plugins::Status::Hash.get(job_id)
This Resque::Plugins::Status::Hash
object returns:
status.pct_complete #=> 0
status.status #=> 'queued'
status.queued? #=> true
status.working? #=> false
status.time #=> Time object
status.message #=> "Created at ..."
For more details and getting this gem visit: https://github.com/quirkey/resque-status