S3Client->copyObject()
AWS PHP SDK v2の操作を使用して、異なるリージョンにあるバケット間で Amazon S3 の大きなオブジェクトをコピーしようとしています。
オブジェクトのコピーは機能しますが、問題は、コピー操作が応答を返すのにかなりの時間がかかる可能性があり、PHP スクリプトの実行がブロックされることです。これは、この特定のケースでは必要ありません。
copyObject()
SDK を介して非ブロッキングの方法で呼び出しを行う方法はありますか (おそらく低レベルの Guzzle 設定を使用)? 定期的なヘルスチェックを別のサービス (Amazon SWF) に送信して、スクリプトがまだ実行中であることを知らせる必要があるため、このノンブロッキング動作が必要です。
呼び出しをブロックしない方法で実行できない場合、他に解決策があることは承知していますが、SDK の経験が豊富な人からアイデアをもっと得たいと考えています。
(私が取ることができると思う1つの可能なアプローチはfork()
、プロセスとcopyObject()
子プロセスで操作を行うことです;また、Guzzleがそれをサポートし、コールバックメソッドが少なくとも1回実行されることを保証する場合、ある種の進行コールバックも機能します分)