googleapis/google/longrunning
Google APIs c9d96e3430 feat: add ListOperations partial success flag
feat: add ListOperations unreachable resources
PiperOrigin-RevId: 815887751
2025-10-06 14:33:48 -07:00
..
BUILD.bazel feat: add ListOperations partial success flag 2025-10-06 14:33:48 -07:00
longrunning.yaml feat: add ListOperations partial success flag 2025-10-06 14:33:48 -07:00
longrunning_gapic.yaml chore: remove unnecessary (no-op) settings and files 2025-03-17 01:06:53 -07:00
longrunning_grpc_service_config.json chore: start preview directory 2021-12-01 15:08:14 +00:00
operations.proto feat: add ListOperations partial success flag 2025-10-06 14:33:48 -07:00
README.md chore: update README files 2023-10-11 10:16:30 -07:00

Long-running Operations API

This package contains the definition of an abstract interface that manages long running operations with API services.

Operation

The primary message to understand within LRO is the Operation message. Operations have a unique name (in the context of a particular endpoint). Additionally, a service (called Operations -- plural) defines the interface for querying the state of any given operation.

APIs that implement a concept of long-running operations are encouraged to follow this pattern: When a caller invokes an API backend to start a job...

  • The API backend starts asychronous work to fulfill the caller's request, and generates a unique name (the Operation name) to refer to the ongoing asychronous work.
  • The API backend immediately returns the Operation back to the caller.
  • The caller can invoke the API methods defined in the Operations service to get the current status of the asychronous work, and also to discover the final result (success or error).

For Google APIs, the implementation of this pattern and the use of this proto are part of our design rules. Additionally, our API client tooling seeks to be intelligent about these, to improve the client API consumption experience. Therefore, APIs outside of Google can also benefit by following this same pattern.