後でステータスを確認するために、proc_open からプロセス リソースを保存するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/949437

質問

私はshを実行しています 脚本 それは ジャワ プロセスを経て php の上 ubuntu サーバ。プロセスの実行には proc_open を使用しています。通常、ワークフローは次のようになります。

  • ページをリクエストする ->
  • スクリプトが実行されます (完了するまで) ->
  • 結果ページ。

私の場合、スクリプトは並行して実行されるため、サーバーはスクリプトが完了するまで待機しません(数時間かかるため、できない場合があります)。そのため、後でフォローできるようにそのリソースを何らかの方法で保存する必要があります(プロセスのステータスまたはただ止めているだけです)。

リソースタイプは「プロセス」なので、この関数を使用しました get_resource_type それを得るために。

この場合、シリアル化は機能しません - リソースは例外です (次を参照してください) http://il2.php.net/manual/en/function.serialize.php [パラメータ]ボックス内)。

私の目標は、適切なプロセス処理です。誰かがリソースを使用する方法、またはプロセス処理に行う他の方法を知っていますか。

役に立ちましたか?

解決

あなたは、PHPで後で使用するためにリソースタイプを格納することはできません。多分1は、ステータス情報を書き込み、他方は読み込みファイル、共有メモリ、名前付きパイプ、...

- 何をする必要がある非同期通信のいくつかのフォームを実装しています

私は PCNTL延長するになります。ヒント:。フォークは、セキュリティ上の理由から、ウェブ・サーバー環境内からはできません。

他のヒント

  

スクリプトが終了するまで、サーバーが待機しませんので、スクリプトが並行して走る私の場合は(それが時々時間を要するので、それはできません)..

これは自分自身で問題になることはありません。あなたは簡単にそれがウェブサーバから開始されていない限り、長時間実行のphp-プロセスを持つことができます。あなたは、Webアプリケーションからプロセスを開始する必要がある場合、私はあなたがデータベーステーブルのエントリを挿入することを示唆して、cronジョブを持って、このキューをチェックするスクリプトを実行して処理を行うだろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top