質問 > 管理機能 > 受注CSV出力処理を分割したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
gwkozaki |
投稿日時: 2020/9/24 9:57
対応状況: −−−
|
常連 登録日: 2019/7/30 居住地: 日本 投稿: 53 |
受注CSV出力処理を分割したい ▼テンプレート
[EC-CUBE] EC-CUBE4.0.4 [レンタルサーバ] Xserver 題名の通り、受注CSVのエクスポート処理を分割したいです。 現状としましては、受注の件数が多いことが影響し、CSVエクスポートを行うとメモリが足りずCSVが途中で切れてしまいます。 そこでCSV出力の処理をchunkなどを使用することで、分割しようと考えたのですが、 CSV出力の処理がOrderController.phpとCsvExportService.phpに別れており、どこの処理をどのように置き換えれば良いのか分かりません。。 もしCSV出力処理の分割方法をご存知の方がいらっしゃいましたら、ヒントだけでもご教授いただけませんでしょうか? お手数をお掛け致しますが、何卒よろしくお願いいたします。 |
468 |
投稿日時: 2020/9/24 15:13
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 受注CSV出力処理を分割したい CSVダウンロードの操作(リクエスト)に対する結果(ダウンロード)を受け取る流れの中で
WEBの仕組み上、処理の分割という事は出来ないのではないかと思いますが如何でしょうか? (私が方法を知らないだけかもしれません) 予めコマンドラインで動作するバッチ処理を作成し、それをWEBサーバから順次呼び出す(phpの場合、exec関数)方法であれば 処理の分割という事は可能かと思いますが その場合、元のロジックを大きく改修する必要があるのではないかと思います。 複数回に分けてダウンロードするというような 運用でのカバーは難しいのでしょうか?
|
gwkozaki |
投稿日時: 2020/9/25 10:57
対応状況: −−−
|
常連 登録日: 2019/7/30 居住地: 日本 投稿: 53 |
Re: 受注CSV出力処理を分割したい 468 様
ご返答いただき、誠にありがとうございます。 引用:
→ 申し訳ございません。 私自身、CSV出力がメモリ不足であることの解決策を探している段階でして、あくまで想定として処理の分割ということを検討しておりました。 現状200件程度であれば正常に出力される状態で、データ取得から書き出しまでを200件ずつ行い、全件に到達するまでその処理を回すような想定です。 引用:
→ バッチ処理を作成しての方法であれば、処理の分割は可能との情報をご教授いただきありがとうございます! 大きくロジックを改修する必要があるとのことですが、バッチ処理での対応も検討させていただきます。 現状毎年10000件程度の受注に対し、200件の正常出力ですので、運用でのカバーは難しいかと思われますが、こちらも再度検討させていただきます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |