いくつかのドメインが登録されているかどうかをユーザーが確認できるRailsを使用してWebサイトを構築しています。ロジックは次のように設計されています。
- ページにテキストフィールドがあり、ユーザーはいくつかのドメイン名を入力できます
- ユーザー
check
がボタンをクリックすると、入力がサーバーに送信されます - サーバーは入力を取得し、バックグラウンドタスク(別のプロセスで実行されます)を作成し、「今すぐチェックしています...」などのテキストをすぐにユーザーに返します
- バックグラウンドタスクは、ドメイン名を別のサイトに投稿し、応答を取得し、それを解析して有用な情報を取得してから、データをグロブルメモリハッシュに配置します(タスクには3秒かかります)
- このページには「checkingnow...」が含まれており、javascript関数があり、チェック結果を取得するようサーバーに要求します。結果が出るまで2秒ごとに実行されます。
- 「ステータス確認要求」を処理するためのアクションがサーバー側にあります。Globleメモリハッシュをチェックし、結果を見つけて返します。それ以外の場合は「[]」を返します。
(私はRails 2.3.8、delayed_jobを使用しています)
私はJava開発者でした。これは、Javaで行うことです。しかし、「遅延ジョブワーカー」と「レール」はプロセスが異なるため、「グロブルメモリハッシュ」を保持するのは難しいと感じました。
私のデザインはレールでは不可能ですか?チェック結果をデータベースまたは「memcached」のようなものに保存する必要がありますか?
そして、これらのバックグラウンドタスクを並行して実行できますか?