ディレクションを科学する と 私の日記

自己紹介とディレクションを科学していきます。

画面設計時の考え方 CSV出力編

本日はCVS出力編です。普段の動作は重たくないのに、CSV出力の時はやたらと時間がかかることってありますよね。 

何万件のデータを集計しているのだから仕方がない という部分もありますがこの処理をしたらサーバー自体が重くなって普段使っている機能も重たくなる ということになると少し問題なのと、集計している最中ずっと画面が実行中になっていて処理が終わらないというのも問題かと思います。

 

なので、集計で待てるのは2~3分程度かと思いますので、それ以上に集計に時間がかかる場合は、一旦画面は終了させて、終わった段階で結果を通知する仕組みに変更した方が良いかと思います。

 

具体的には、CSV出力の条件が確定した段階でメールアドレスの入力欄を表示させます。それかログインしている場合はそのメールアドレスに通知する旨のアナウンスを記載します。 そこでバックグラウンドでCSV作成処理(集計処理)を実行して終了したら、CSVダウンロードアドレスをメールにて通知します。 これであれば画面は終了しますし、集計に長時間かかっても問題ないかと思います。ただ、長時間サーバーのスペックを占領するのは問題なので、そこはこの処理用のリソース割り当てを行った方が良いとは思いますが。。。