OpenPNE拡張開発 - 悲しい結末

現在開発中のOpenPNEのアプリケーションの拡張案件。作業していた中の悲しい結末。

今回の拡張は、3,500件のデータをOpenPNE内のテーブルにインポートするもの。このデータは、追加・更新・削除のデータを含んでいて、レコードごとにそれぞれの処理を行います。つまり、バッチ処理です。もちろんデータの整合性チェックを行って、外部のWebサービスの連携(これがとても重い!)も行います。

しかし、100件辺りで、Apacheを異常終了してしまう。ローカルPC上でXAMPPでテストしているのが問題? でも、本番で動かなくなるのも問題ですので。ローカルPCで解決することに。

まずは、SQLの見直し、なるべくシンプルにということでSQLを書き直しましたが、解決にならず。

メモリの使い方が悪いのかと重い、処理を見直してきちんとメモリ解放するようにしました。しかし、これも解決にならず。

インポート結果の出力を制限するようにしましたが、こちらも解決にならず。

いよいよ、最後の手段。最初はDBへのアクセスは、まともにOpenPNEのライブラリを使っていました。これをMySQLの低レベルの関数でアクセスするように変更。つまり、画面周りだけをOpenPNEで記述して、あとはガリガリPHPのMySQL関数で書きます。PEARも使わずに。

これで、問題なく動くようになりました。結局は最初の2週間の成果はゴミ箱へ。早々に諦めて次の手段に移ることも大事です。

このページは xfy Blog Editor を利用して作成されました。

投稿者:

avatar

ando

50過ぎてもプログラマーの気持ちを忘れない。