/** * Blocks asynchronous operation until it succeeds. Throws exception if the * operation failed. * * @param string $requestInfo The asynchronous operation request AsynchronousOperationResult. * * @throws WindowsAzure\Common\ServiceException * * @return none */ private function _blockUntilAsyncFinish($requestInfo) { $status = null; do { sleep(5); $result = $this->_proxy->getOperationStatus($requestInfo); $status = $result->getStatus(); } while (OperationStatus::IN_PROGRESS == $status); if (OperationStatus::SUCCEEDED != $status) { throw $result->getError(); } }