Description
Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Is your feature request related to a problem? Please describe.
I'm often frustrated when deploying a Matching Engine index blocks execution due to the lack of an asynchronous option. In some use cases (e.g., web servers, orchestrators, or pipelines), a non-blocking call is essential to avoid performance bottlenecks or execution timeouts.
Describe the solution you'd like
I would like to propose adding a sync
parameter to the deploy_index
method of the Matching Engine Index Endpoint client. If sync=False
, the method should return immediately after initiating deployment and allow the long-running operation to complete in the background. The default behavior (sync=True
) would remain unchanged to preserve backward compatibility.
Describe alternatives you've considered
- Manually wrapping the method in a background thread or async task, though this is suboptimal and adds complexity.
- Polling for status manually via separate API calls after initiating deployment.
Additional context
This addition would make the API more flexible and suitable for asynchronous environments, including web frameworks, CI/CD systems, and event-driven architectures.
Example of desired usage:
# Asynchronous deployment
endpoint.deploy_index(index=my_index, deployed_index_id="my-index-id", sync=False)