Skip to content

Expose async (promise-returning) methods in ImageAnnotatorClient #7747

Closed
@mikethea1

Description

@mikethea1

Thanks for stopping by to let us know something could be better!

Is your feature request related to a problem? Please describe.
I'm using the ImageAnnotatorClient to OCR some pages from a document. Because the API only accepts 5 pages at a time (and sometimes fails with a full 5, doing this serially takes many seconds to finish; sometimes the request times out just processing a modest number of pages.

Describe the solution you'd like

Under the hood, the annotator client is actually calling ->wait() on an async promise before returning. I'd like for an API like batchAnnotateImagesAsync() which just returned the promise directly. This would allow me to process in parallel:

$promises = array_map(fn($r) => $imageAnnotator->batchAnnotateImagesAsync($r), $requests);
foreach ($promises as $promise) {
    $result = $promise->wait();
    // do something with $result
}

Describe alternatives you've considered
The current client DOES have a asyncBatchAnnotateImages() function, but this synchronously sets up an offline operation. I'm still doing online operations; I'd just like to parallelize for speed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions