データベース内の特定のエントリが特定の時間に削除されるように設定されているアプリで機能を作成しようとしています。私はレールに慣れていないので、どうすればこれを達成できるかわかりません。
たとえば、エントリの有効期限が過ぎたら、それを自動的に削除したいと考えています。これを達成するためのヒントやアイデアはありますか? 再度、感謝します。
データベース内の特定のエントリが特定の時間に削除されるように設定されているアプリで機能を作成しようとしています。私はレールに慣れていないので、どうすればこれを達成できるかわかりません。
たとえば、エントリの有効期限が過ぎたら、それを自動的に削除したいと考えています。これを達成するためのヒントやアイデアはありますか? 再度、感謝します。
定期的に(毎時または毎晩など)レーキタスクを実行できます。このジョブは投稿をチェックし、期限切れの投稿を削除します。
whenever
たとえば、gemを使用してrakeタスクをスケジュールできます。
every 3.hours do
rake "jobs:clear_stale"
end
バックグラウンド ジョブは、問題を解決するものです。Resque
バックグラウンドジョブのSidekiq
2つの素晴らしいオプションです。特定の間隔で実行されるスケジューラーを保持して、エントリの有効期限が切れているかどうかを確認し、有効期限が切れている場合はエントリを削除できます。resque と [this one] のレールキャストはこちらです。いつでもオプションですが、上記の他の2つはまだ優れています。