Poll a long running operation
Stay organized with collections
Save and categorize content based on your preferences.
To poll an operation, repeatedly call the get_long_running_operation() method until the operation finishes. Use a backoff between each poll request, such as 10 seconds.
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eRepeatedly call the \u003ccode\u003eget_long_running_operation()\u003c/code\u003e method to monitor the status of an ongoing operation until it is complete.\u003c/p\u003e\n"],["\u003cp\u003eIt is recommended to implement a backoff period, such as a 10-second delay, between each polling request to avoid overloading the system.\u003c/p\u003e\n"],["\u003cp\u003eThe provided Python code demonstrates how to poll an operation using the \u003ccode\u003ediscoveryengine.DocumentServiceClient()\u003c/code\u003e and the \u003ccode\u003eoperations_pb2.GetOperationRequest()\u003c/code\u003e method, with a \u003ccode\u003esleep(10)\u003c/code\u003e function call to implement a backoff period.\u003c/p\u003e\n"],["\u003cp\u003eTo use the service, you must authenticate to Vertex AI Agent Builder using Application Default Credentials, as detailed in the setup guide.\u003c/p\u003e\n"]]],[],null,["# Poll a long running operation\n\nTo poll an operation, repeatedly call the get_long_running_operation() method until the operation finishes. Use a backoff between each poll request, such as 10 seconds.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Monitor long-running operations](/agentspace/docs/long-running-operations)\n- [Monitor long-running operations](/generative-ai-app-builder/docs/long-running-operations)\n\nCode sample\n-----------\n\n### Python\n\n\nFor more information, see the\n[AI Applications Python API\nreference documentation](/python/docs/reference/discoveryengine/latest).\n\n\nTo authenticate to AI Applications, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n from time import sleep\n\n from google.cloud import discoveryengine\n from google.longrunning import operations_pb2\n\n # TODO(developer): Uncomment these variables before running the sample.\n # Example: `projects/{project}/locations/{location}/collections/{default_collection}/dataStores/{search_engine_id}/branches/{0}/operations/{operation_id}`\n # operation_name = \"YOUR_OPERATION_NAME\"\n\n\n def poll_operation_sample(\n operation_name: str, limit: int = 10\n ) -\u003e operations_pb2.Operation:\n # Create a client\n client = discoveryengine.https://cloud.google.com/python/docs/reference/discoveryengine/latest/google.cloud.discoveryengine_v1.services.document_service.DocumentServiceClient.html()\n\n # Make GetOperation request\n request = operations_pb2.GetOperationRequest(name=operation_name)\n\n for _ in range(limit):\n operation = client.https://cloud.google.com/python/docs/reference/discoveryengine/latest/google.cloud.discoveryengine_v1.services.document_service.DocumentServiceClient.html#google_cloud_discoveryengine_v1_services_document_service_DocumentServiceClient_get_operation(request=request)\n # Print the Operation Information\n print(operation)\n\n # Stop polling when Operation is no longer running\n if operation.done:\n break\n\n # Wait 10 seconds before polling again\n sleep(10)\n\n return operation\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=genappbuilder)."]]