首页 > 解决方案 > 使用 gunicorn+Flask 时 Google Cloud Vision 没有响应

问题描述

我是 Google Vision API 的新手,但我使用 gunicorn 和烧瓶已经有一段时间了。我安装了所有必需的库。我通过 gunicorn bash 文件在环境中有我的 api 密钥。每当我尝试使用 gcp API 时,它都会冻结而没有响应。有人可以帮忙吗?这是我的gunicorn_start.bash

NAME="test"                                 
NUM_WORKERS=16                                     
PYTHONUNBUFFERED=True
FLASK_DIR=/home/user/fold/API/

echo "Starting $NAME"

cd $FLASK_DIR
conda activate tf


export development=False

export GOOGLE_APPLICATION_CREDENTIALS='/home/user/test-6f4e7.json'
exec /home/user/anaconda3/envs/tf/bin/gunicorn --bind 0.0.0.0:9349 --timeout 500 --worker-class eventlet --workers $NUM_WORKERS app:app

编辑 它在 API 调用期间冻结。API调用代码:

client = vision.ImageAnnotatorClient()

with io.open(path, 'rb') as image_file:
    content = image_file.read()
image = vision.types.Image(content=content)


response = client.document_text_detection(image=image)

没有日志,因为它只是冻结,没有别的

标签: pythonflaskgoogle-cloud-platformgunicorngoogle-cloud-vision

解决方案


我有完全相同的问题,结果证明是gunicorn的错。当我切换到 Django 开发服务器时,问题就消失了。我尝试使用较旧的 gunicorn 版本(回到 2018 年),但问题仍然存在。我可能应该将此报告给 gunicorn。:D

在此期间将切换到 uwsgi。


推荐阅读