私たちの製品には、主にRESTfulなアーキテクチャがあります。これにより、この新しい要件を除いて、必要な機能のほとんどすべてを適切に実装できます。
ユーザーが大規模な DB 操作を同期的に行えるようにするページを実装する必要があります。間違いを犯したことに気付いた場合は、途中で操作を停止できます (操作が完了するのを待って操作を元に戻すのではなく)。
そのような機能を実装するための最良の方法は何かについて、誰かがいくつかの指針を与えることができるかどうか疑問に思っていましたか?
乾杯!ニラフ
私たちの製品には、主にRESTfulなアーキテクチャがあります。これにより、この新しい要件を除いて、必要な機能のほとんどすべてを適切に実装できます。
ユーザーが大規模な DB 操作を同期的に行えるようにするページを実装する必要があります。間違いを犯したことに気付いた場合は、途中で操作を停止できます (操作が完了するのを待って操作を元に戻すのではなく)。
そのような機能を実装するための最良の方法は何かについて、誰かがいくつかの指針を与えることができるかどうか疑問に思っていましたか?
乾杯!ニラフ
一連のバッチ操作をカプセル化するリソースはどうですか? リソースを作成するということは、操作を開始することを意味します (操作が何をすべきかを示すデータが POST 経由で送信されます)。リソースを更新すると、処理中にリソースを停止または変更できます。
別のスレッドで大規模な操作を開始します。スレッドの常に更新されたステータスと [キャンセル] ボタンをユーザーに表示します。ユーザーが [キャンセル] ボタンをクリックすると、スレッドが強制終了されます。
これは、私が過去に同様のものを実装した方法です。
アイデアは、すぐに制御を戻すことですが、スレッドが完了するまでキャンセル以外のことをさせないでください。
一般的に言えば、「ジョブ キュー」とキューを管理する方法が必要です。
バッチ マネージャーを統合するか、独自に実装する必要があります。あなたを助けることができるいくつかの製品があります。例として、この記事 http://www.ibm.com/developerworks/websphere/techjournal/0801_vignola/0801_vignola.htmlを読んでください。