python - Google Speech API 在 Python 子进程中不起作用
问题描述
此问题仅出现在 Google Cloud 中的特定项目(在多个虚拟机上)。完全相同的代码在其他项目和我的 Mac 上完美运行。
我有一个 python 模块,它运行流式语音 API,如下所示:
responses = client.streaming_recognize(
streaming_config,
get_requests()
)
该代码基于此处的 Google 示例
我可以直接运行这个模块并看到它正在获取结果回调。即使在后来(见下文)我遇到问题的 Google VM 上也是如此。
然后我运行相同的模块,multiprocessing.Process
然后调用streaming_recognize
什么也不做。
我使用日志记录来查看它正在被调用并且代码继续运行。我没有错误。
但是get_requests()
永远不会被调用。
我在每个环境中都尝试了不同的服务帐户。但是失败只显示在一个项目中,无论使用什么服务帐户。
任何应该有不同行为的原因是子过程?
更新:
我发现如果我开始这个过程而不是subprocess.Popen
一切正常。提醒一下,这个问题(基于我如何开始流程的行为差异)只发生在一个特定的 Google Cloud 项目中,而不发生在其他任何地方。
解决方案
推荐阅读
- flutter - Flutter 后端应用程序
- r - 如何匹配感叹词中的重复字母
- oracle - 在 SQuirrel SQL 中 - 无法在 oracle 触发器中使用旧的或新的
- ffmpeg - ffmpeg 无效的流说明符:si
- rsync - 带有删除选项但不包括子文件夹的 Rsync
- php - How to check if a custom post is in a specific taxonomy?
- mysql - 如果我在 swarm 中使用 .env 文件,则未为 mariadb 容器设置 MYSQL_ROOT_PASSWORD 环境变量
- sql - 在sql server 2016中的第一个空格之前获取值
- python - 在python中完成所有celery group任务后如何调用方法
- docker - Docker 登录:访问被拒绝,您必须使用个人访问令牌