Polling Long Running Operations

This page describes how to programmatically poll the long-running operation resources returned by methods in Service Infrastructure APIs that take a substantial amount of time to complete, such as service.rollouts.create . After an operation is done, the done field will be set to true.

To poll an operation, repeatedly invoke the operations.get method with a recommended 10 seconds backoff until the operation is done:

  # This is an example of getting a pending `Operation` resource. 
 gcurl 
  
 https 
 :// 
 servicemanagement 
 . 
 googleapis 
 . 
 com 
 / 
 v1 
 / 
 operations 
 / 
 rollouts 
 . 
 endpointsapis 
 . 
 appspot 
 . 
 com 
 : 
 2016 
 - 
 07 
 - 
 16r2 
 { 
  
 "name" 
 : 
  
 "operations/rollouts.endpointsapis.appspot.com:2016-07-16r2" 
 , 
  
 "metadata" 
 : 
  
 { 
  
 "@type" 
 : 
  
 "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata" 
 , 
  
 "resourceNames" 
 : 
  
 [ 
  
 "services/endpointsapis.appspot.com/rollouts/2016-07-16r2" 
  
 ] 
 , 
  
 "steps" 
 : 
  
 [ 
  
 { 
  
 "description" 
 : 
  
 "update Service Controller" 
 , 
  
 "status" 
 : 
  
 "In_PROGRESS" 
  
 } 
  
 ] 
 , 
  
 "progressPercentage" 
 : 
  
 0 
 , 
  
 "startTime" 
 : 
  
 "2016-07-16T00:56:55.737Z" 
 , 
  
 } 
  
 "response" 
 : 
  
 { 
  
 "@type" 
 : 
  
 "type.googleapis.com/google.api.servicemanagement.v1.Rollout" 
 , 
  
 "rolloutId" 
 : 
  
 "2016-07-16r2" 
 , 
  
 "createTime" 
 : 
  
 "2016-07-16T00:56:55.724Z" 
 , 
  
 "serviceSelectionStrategy" 
 : 
  
 { 
  
 "serviceConfigIds" 
 : 
  
 [ 
  
 "2016-07-16r1" 
  
 ] 
  
 } 
 , 
  
 "serviceName" 
 : 
  
 "endpointsapis.appspot.com" 
 } 
 # This is an example of getting a done `Operation` resource. 
 gcurl 
  
 https 
 :// 
 servicemanagement 
 . 
 googleapis 
 . 
 com 
 / 
 v1 
 / 
 operations 
 / 
 rollouts 
 . 
 endpointsapis 
 . 
 appspot 
 . 
 com 
 : 
 2016 
 - 
 07 
 - 
 16r2 
 { 
  
 "name" 
 : 
  
 "operations/rollouts.endpointsapis.appspot.com:2016-07-16r2" 
 , 
  
 "metadata" 
 : 
  
 { 
  
 "@type" 
 : 
  
 "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata" 
 , 
  
 "resourceNames" 
 : 
  
 [ 
  
 "services/endpointsapis.appspot.com/rollouts/2016-07-16r2" 
  
 ] 
 , 
  
 "steps" 
 : 
  
 [ 
  
 { 
  
 "description" 
 : 
  
 "update Service Controller" 
 , 
  
 "status" 
 : 
  
 "Done" 
  
 } 
  
 ] 
 , 
  
 "progressPercentage" 
 : 
  
 100 
 , 
  
 "startTime" 
 : 
  
 "2016-07-16T00:56:55.737Z" 
 , 
  
 } 
  
 "done" 
 : 
  
 true 
 , 
  
 "response" 
 : 
  
 { 
  
 "@type" 
 : 
  
 "type.googleapis.com/google.api.servicemanagement.v1.Rollout" 
 , 
  
 "rolloutId" 
 : 
  
 "2016-07-16r2" 
 , 
  
 "createTime" 
 : 
  
 "2016-07-16T00:56:55.724Z" 
 , 
  
 "serviceSelectionStrategy" 
 : 
  
 { 
  
 "serviceConfigIds" 
 : 
  
 [ 
  
 "2016-07-16r1" 
  
 ] 
  
 } 
 , 
  
 "serviceName" 
 : 
  
 "endpointsapis.appspot.com" 
 } 
 
Design a Mobile Site
View Site in Mobile | Classic
Share by: