新しいデータの長いインポートを実行する必要がある場合がある Rails アプリケーションがあります。このインポートの実行中、ユーザーは「書き込み」タスク (つまり、新しいプロジェクトの作成など) を実行できません。インポート ジョブは DelayedJob を介して実行されています
基本的に、これを行うにはバックグラウンド タスクが必要です。
1) アプリケーションの状態を「インポート中 - アプリケーションは読み取り専用になりました」に設定します
2) インポートを実行
3) アプリケーションの状態を「すべて準備完了 - アプリケーションは正常に機能するようになりました」に設定します。
簡単に言えば、単なるブール値のフラグですが、すべてのプロセスでグローバルに使用できるフラグです。問題は、これを実装するためのベストプラクティスは何ですか?
このフラグをフィールドとして使用して、ApplicationState という ActiveRecord モデルを簡単に作成できます。ただし、これは少しやり過ぎのようです。
したがって、代替案は大歓迎です。
/ カルステン