私は巨大なデータベース (数百ギガバイト) を備えた Rails アプリケーションを持っています。このデータベースには、データをどう処理するかについてさまざまなオプションがあります。場合によっては、データの変更など、これは Sidekiq で行うバックグラウンド タスクで行うことができます。しかし、多くの行と列または複雑な SQL クエリを含むデータを表示する場合など、データを取得するプロセスに非常に長い時間がかかる場合もあります。
私がやりたいことは、ユーザーがリンクをクリックしたときに何かが起こっていることをユーザーに示すことです。多くのブラウザーにあるプログレス バーと同様ですが、より明白であるため、ブラウザーの操作に慣れていないユーザーでも、何かが発生してロードされていることがわかるはずです。
問題は、これをどのように行うかです。私はすでにAJAXとjQueryでさまざまなオプションを試しましたが、ほとんどの場合、これは特定のアクションに対してしか実行できませんが、基本的にはアプリケーション全体に対して実行したいと考えています. したがって、ユーザーが新しいページをロードするリクエストを送信するたびに、何かが起こっていることをすぐに示したいと思います。
私が最も近づいたのは、常にトリガーされる Javascript でした。問題は、文字通り毎回発生し、ページのリロードを余儀なくされることでした。これは、要素を切り替えると、進行状況バーが表示され、ページがリロードされたことを意味します。
本質的に、私が探しているもの:
私のアプリケーションは Ruby と Rails 4 で実行され、新しいページが読み込まれるたびに、リクエストが処理されていることをユーザーに示す必要があります。そのため、リクエストに数秒かかっても、ユーザーは緊張しません。何かが起こっていること。
解決策が見つからないようなので、解決策を見つけるための助けをいただければ幸いです...