2012-01-21 2 views
0

私はフラッシュアップローダー(swfuploader)を使用するウェブアプリケーションを持っており、最近、ユーザーは、スクリプトが30秒を超えるとハングするバグを指摘しました。imagemagicを変換するときに30秒のタイムアウトをフラッシュするのを避けますか?

30秒後に応答がないとタイムアウトになるので、私は変換機能が終了する前にブラウザにデータを送信する必要があることを知っています。

今のところ、スクリプトはファイルをアップロードして変換し、それがマルチページpdfの場合は参照用の子供のpngをdbに保存します。これは大小のファイルでうまくいきます。 30秒以上ぶら下がります。事前

答えて

1

おかげで私はあなただけ非同期であることを全体を構築する必要があり、その後、あなたはそれを心配する必要はいけないと思います...右?

2

Mark Robbinsが提案したもの、またはhttp://php.net/manual/en/function.set-time-limit.phpを探しているかもしれませんが、サーバー設定を確認する必要があります(スクリプトの実行時間も制限されることがあります)。

PHPを非同期で動作させることは、かなりの作業になるでしょう...私はこれが完璧な解決策であるとは言いませんが、実装するのが最も簡単です(少なくとも私にとってはそうです)。別のプロセスとして "変換"を取得し、pidを取得し、クライアントに関連付けられていることを知っているセッション/他の場所にそのpidを保存してから、クライアントが作業完了を求めるためにサーバーをポーリングします。 pidに関連付けられたプロセスが終了すると、クライアントはimagemagicが変換したものを保存したディレクトリに保存されたものを受け取る必要があります。

関連する問題