OperationResponse
class OperationResponse (View source)
Response object from a long running API method.
The OperationResponse object is returned by API methods that perform a long running operation. It provides methods that can be used to poll the status of the operation, retrieve the results, and cancel the operation.
To support a long running operation, the server must implement the Operations API, which is used by the OperationResponse object. If more control is required, it is possible to make calls against the Operations API directly instead of via the OperationResponse object using an Operations Client instance.
Traits
Constants
DEFAULT_POLLING_INTERVAL |
|
DEFAULT_POLLING_MULTIPLIER |
|
DEFAULT_MAX_POLLING_INTERVAL |
|
DEFAULT_MAX_POLLING_DURATION |
|
Methods
OperationResponse constructor.
Check whether the operation has completed.
Check whether the operation completed successfully. If the operation is not complete, or if the operation failed, return false.
Check whether the operation failed. If the operation is not complete, or if the operation succeeded, return false.
Get the formatted name of the operation
Poll the server in a loop until the operation is complete.
Reload the status of the operation with a request to the service.
Return the result of the operation. If operationSucceeded() is false, return null.
If the operation failed, return the status. If operationFailed() is false, return null.
Get an array containing the values of 'operationReturnType', 'metadataReturnType', and
the polling options initialPollDelayMillis
, pollDelayMultiplier
, maxPollDelayMillis
,
and totalPollTimeoutMillis
. The array can be passed as the $options argument to the
constructor when creating another OperationResponse object.
No description
No description
Cancel the long-running operation.
Delete the long-running operation.
Get the metadata returned with the last proto response. If a metadata type was provided, then the return value will be of that type - otherwise, the return value will be of type Any. If no metadata object is available, returns null.
Details
protected float
getCurrentTimeMillis()
Protected to allow overriding for tests
protected
sleepMillis(int $millis)
Protected to allow overriding for tests
__construct(string $operationName, object $operationsClient, array $options = [])
OperationResponse constructor.
bool
isDone()
Check whether the operation has completed.
bool
operationSucceeded()
Check whether the operation completed successfully. If the operation is not complete, or if the operation failed, return false.
bool
operationFailed()
Check whether the operation failed. If the operation is not complete, or if the operation succeeded, return false.
string
getName()
Get the formatted name of the operation
bool
pollUntilComplete(array $options = [])
Poll the server in a loop until the operation is complete.
Return true if the operation completed, otherwise return false. If the $options['totalPollTimeoutMillis'] setting is not set (or set <= 0) then pollUntilComplete will continue polling until the operation completes, and therefore will always return true.
reload()
Reload the status of the operation with a request to the service.
mixed|null
getResult()
Return the result of the operation. If operationSucceeded() is false, return null.
Status|null
getError()
If the operation failed, return the status. If operationFailed() is false, return null.
array
getDescriptorOptions()
Get an array containing the values of 'operationReturnType', 'metadataReturnType', and
the polling options initialPollDelayMillis
, pollDelayMultiplier
, maxPollDelayMillis
,
and totalPollTimeoutMillis
. The array can be passed as the $options argument to the
constructor when creating another OperationResponse object.
Operation|mixed|null
getLastProtoResponse()
No description
object
getOperationsClient()
No description
cancel()
Cancel the long-running operation.
For operations of type Google\LongRunning\Operation, this method starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it will throw an ApiException with code \Google\Rpc\Code::UNIMPLEMENTED. Clients can continue to use reload and pollUntilComplete methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with a getError() value with a \Google\Rpc\Status code of 1, corresponding to \Google\Rpc\Code::CANCELLED.
delete()
Delete the long-running operation.
For operations of type Google\LongRunning\Operation, this method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it will throw an ApiException with code \Google\Rpc\Code::UNIMPLEMENTED.
mixed
getMetadata()
Get the metadata returned with the last proto response. If a metadata type was provided, then the return value will be of that type - otherwise, the return value will be of type Any. If no metadata object is available, returns null.