- 締切済み
計算を要するphpをバックグランド等で動かす方法
皆様のお知恵を拝借したく、投稿しています。 現在簡単なウェブを、phpで作成しています。 そのウェブでは、複数の写真をアップし、画像解析することを試みています。 必要なプログラムはすべてUbuntu(linux)上で動かしています。 写真をウェブ上にアップした後、いくつかユーザーが設定する条件をウェブ上で整えたうえで、 「送信ボタン」を押すことで、画像解析プログラム(仮にImage.phpとしておきます)が起動するようにしています。 ここまでは何も問題なく動きますが、Image.phpで行われる計算時間が長いため、Chromなどのweb browserではImage.phpからの応答反応がないとみなされ、途中でウェブへの通信が遮断されため、結果としてImage.phpの計算が途中で止まってしまいます。 一番簡単な方法として考えたことは、 Image.phpをバックグランドで起動させることだと思いましたが、 「&」や「nohup」だけでは、上記で説明した問題が発生しています。 皆様のお知恵を拝借したいことは、 どのようにしたら、この問題を回避することができるのかを伺いたいです。 バックグランドを使用しての別の方法でも構いませんし、まったく別の方法でも構いません。 ご教授お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
timeoutが頻発するようではサーバーの負荷も大きいでしょうから ajaxも危険ですね ユーザーが無意識な分バックグラウンド処理がたまりすぎて オーバーフローするかも・・・ 考え方は3つ 第一にそんな作業はWEBアプリ上ですべきではない 第二にアルゴから考えなおして高速化を図るべき 第三にどうしてもというなら作業を予約しておく仕組みをつくり 結果をデータベースに登録、ユーザーはアウトプットをDBから取り出すようにする という感じでしょうか