Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan cara melakukan polling secara terprogram pada resource operasi yang berjalan lama
yang ditampilkan oleh metode di
Service Infrastructure API yang memerlukan waktu yang cukup lama untuk diselesaikan, seperti
service.rollouts.create.
Setelah operasi selesai, kolom done akan ditetapkan ke true.
Untuk melakukan polling operasi, panggil berulang kali metode operations.get dengan backoff 10 detik yang direkomendasikan hingga operasi selesai:
# This is an example of getting a pending `Operation` resource.gcurlhttps://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.gcurlhttps://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"}
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-11 UTC."],[],[],null,["# Polling Long Running Operations\n\nThis page describes how to programmatically poll the long-running\n[operation](/service-infrastructure/docs/glossary#operation) resources returned by methods in\nService Infrastructure APIs that take a substantial amount of time to complete, such\nas\n[`service.rollouts.create`](/service-infrastructure/docs/service-management/reference/rest/v1/services.rollouts/create).\nAfter an operation is done, the `done` field will be set to true.\n| **Note:** While you typically interact with long-running [operations](/service-infrastructure/docs/service-management/reference/rest/v1/operations) as a result of calling methods in the Service Management API, the Service Consumer Management API also provides methods for interacting with long-running operation resources, such as [`operations.get`](/service-infrastructure/docs/service-consumer-management/reference/rest/v1/operations/get).\n\nTo poll an operation, repeatedly invoke the\n[`operations.get`](/service-infrastructure/docs/service-management/reference/rest/v1/operations/get)\nmethod with a recommended 10 seconds backoff until the operation is done: \n\n # This is an example of getting a pending `Operation` resource.\n gcurl https://servicemanagement.googleapis.com/v1/operations/rollouts.endpointsapis.appspot.com:2016-07-16r2\n {\n \"name\": \"operations/rollouts.endpointsapis.appspot.com:2016-07-16r2\",\n \"metadata\": {\n \"@type\": \"type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata\",\n \"resourceNames\": [\n \"services/endpointsapis.appspot.com/rollouts/2016-07-16r2\"\n ],\n \"steps\": [\n {\n \"description\": \"update Service Controller\",\n \"status\": \"In_PROGRESS\"\n }\n ],\n \"progressPercentage\": 0,\n \"startTime\": \"2016-07-16T00:56:55.737Z\",\n }\n \"response\": {\n \"@type\": \"type.googleapis.com/google.api.servicemanagement.v1.Rollout\",\n \"rolloutId\": \"2016-07-16r2\",\n \"createTime\": \"2016-07-16T00:56:55.724Z\",\n \"serviceSelectionStrategy\": {\n \"serviceConfigIds\": [\n \"2016-07-16r1\"\n ]\n },\n \"serviceName\": \"endpointsapis.appspot.com\"\n }\n\n # This is an example of getting a done `Operation` resource.\n gcurl https://servicemanagement.googleapis.com/v1/operations/rollouts.endpointsapis.appspot.com:2016-07-16r2\n {\n \"name\": \"operations/rollouts.endpointsapis.appspot.com:2016-07-16r2\",\n \"metadata\": {\n \"@type\": \"type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata\",\n \"resourceNames\": [\n \"services/endpointsapis.appspot.com/rollouts/2016-07-16r2\"\n ],\n \"steps\": [\n {\n \"description\": \"update Service Controller\",\n \"status\": \"Done\"\n }\n ],\n \"progressPercentage\": 100,\n \"startTime\": \"2016-07-16T00:56:55.737Z\",\n }\n \"done\": true,\n \"response\": {\n \"@type\": \"type.googleapis.com/google.api.servicemanagement.v1.Rollout\",\n \"rolloutId\": \"2016-07-16r2\",\n \"createTime\": \"2016-07-16T00:56:55.724Z\",\n \"serviceSelectionStrategy\": {\n \"serviceConfigIds\": [\n \"2016-07-16r1\"\n ]\n },\n \"serviceName\": \"endpointsapis.appspot.com\"\n }"]]