0

J'utilise la gemme 'google-cloud-vision' (v0.23.0) pour faire une OCR image et mes demandes échouent aléatoirement avec: DeadlineExceededError. Le taux d'erreur varie de 1% à 99% d'échec, au jour le jour, donc c'est très imprévisible. Lorsque vous ignorez la gemme et que vous utilisez l'API Google REST, et que vous passez mon image en Base64Encoded, les choses semblent parfaites.Comment augmenter le délai d'expiration de google-cloud-vision DeadlineExceededError?

Je suppose que DeadlineExceededError utilise une variable de délai d'attente, alors que l'API REST ne l'est pas. Donc, je me demandais comment augmenter le Timeout car je ne me sens pas bien en utilisant du code ruby ​​brut VS une bibliothèque créée par l'entreprise.

Répondre

2

On dirait DeadlineExceededError a eu lieu le 504 Code du serveur, mais se fondant sur le code que vous pouvez spécifier manuellement délai d'attente - def vision scope: nil, timeout: nil, client_config: nil

Ainsi, vous pouvez:

gcloud = Google::Cloud.new 
vision = gcloud.vision timeout: 180 

pour l'échantillon.