为了账号安全,请及时绑定邮箱和手机立即绑定

难以从 Flask 应用程序访问 Google Text-to-Speech API

难以从 Flask 应用程序访问 Google Text-to-Speech API

呼如林 2023-06-13 16:52:51
我在 Flask 应用程序中访问 Google 的 texttospeech Python API 时遇到困难。该应用程序在安装了 Debian 10、Nginx/Gunicorn 和 Python 3.7 的容器中运行。在下面的代码中,客户端连接成功,但 synthesize_speech 请求无限期挂起(没有任何错误消息)。当我在没有 Flask 的情况下从同一容器中的 Python 脚本运行相同的代码时,语音合成请求成功。但是,我可以毫无问题地从我的 Flask 应用程序调用其他外部 API,例如 AWS 上的 API。是什么原因造成的,或者我该如何诊断问题?我尝试切换到 texttospeech 库的 1.0.1 版,但没有成功。大概问题不是我的凭据,我相信我已经正确设置了凭据,否则连接请求将不会成功。from google.cloud import texttospeech# Connect (this is successful)client = texttospeech.TextToSpeechClient()input_text = texttospeech.SynthesisInput(text="God dag")voice_parameters = texttospeech.VoiceSelectionParams(    language_code="sv-SE",    name="sv-SE-Wavenet-A")audio_config = texttospeech.AudioConfig(    audio_encoding=texttospeech.AudioEncoding.MP3)# Synthesize speech (this never completes)response = client.synthesize_speech(    request={        "input": input_text,        "voice": voice_parameters,        "audio_config": audio_config    })点冻结google-api-core==1.22.1google-auth==1.20.1google-cloud-texttospeech==2.2.0googleapis-common-protos==1.52.0grpcio==1.31.0...
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

原来这个问题是由 gunicorn 的 gevent worker 类中的 monkey_patching 引起的。设法通过将 gunicorn 中的 worker_class 更改为“sync”来解决问题

查看完整回答
反对 回复 2023-06-13
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信