1

私は現在、少し重い処理を行うコントローラーを持っています (一括 csv ファイル処理 - 150Mb から 400Mb の範囲の cvs ファイル)。CSV ファイルが一時ファイルの場所にアップロードされます。処理は、ファイルの場所を外部 jar から API に渡すサービスによって行われます (基本的な Java API 呼び出し - Web サービス呼び出しなどはありません)。サービス メソッドが返されるまでに約 2 ~ 3 回かかります。現在、ユーザーは、フォームの送信後に処理が完了してページが読み込まれるまで、この時間を待たなければなりません。これは、最高のユーザー エクスペリエンスではありません。

このような問題に直面した Grails ユーザーの皆さん、このような問題の最善の解決策は何ですか? 私は Grails と JavaEE を初めて使用するので、基本的には、そのようなシステムをどのように設計するか、およびこれに使用できるライブラリの種類についての質問です。

私はこれについてかなりグーグルで調べました。人々は、同様の問題の解決策として JMS や RabbitMQ などで応答しています。しかし、これらは私の初心者の心へのバズーカのような解決策とハエを交換しているようです. あなたの提案は非常に高く評価されています。

ありがとうございました。

4

2 に答える 2

0

プラグインを使用してquartz...コントローラーを取得して即時ジョブをスケジュールします (スケジュールは迅速で、ユーザーはすぐに応答を受け取り、別のスレッドで実行される Quartz ジョブで処理が行われます)。すべての作業が完了したら、ユーザーに通知するだけです (メールなどを送信します)。

または、プラグインを使用executorして、新しいスレッドでジョブを開始します。2.3には、ここで役立つ非同期サポートがあります。

于 2013-07-13T01:25:06.307 に答える