如何解决在 Nameko rpc 函数中阻止 Firestore https 调用
使用 nameko rpc、firestore 的简单服务。
class GreetingService:
name = "greeting_service"
@rpc
def hello(self,name):
cred = credentials.Certificate("...")
firebase_admin.initialize_app(cred)
client = firestore.client()
ref = client.db.collection("/users")
ref.add({'name': name}) # BLOCKED
return "Hello,{}!".format(name)
Making request: POST https://oauth2.googleapis.com/token
Starting new HTTPS connection (1): oauth2.googleapis.com:443
之后什么也没有发生,请求没有完成,也没有抛出任何错误。我想这与并发和/或解释器以某种方式被 https 请求阻止有关...
我的研究笔记如下。
Firestore 代码自行运行,没有任何问题。在这种情况下,只能在 Firestore 创建的实例上没有问题。
Lib 版本(使用不同的 urllib3 1.25.,1.26. 并且存在 https/socket 连接问题的常见问题):
nameko 2.12.0
firebase-admin 4.5.1
urllib3 1.25.10
花了几个小时玩线程,甚至处理 asyncio lib 和其他类似的东西(来自 nameko 的 DependencyProvider、ThreadPoolExecutor、ProcesspoolExecutor、线程、多处理)。
尝试“黑客”,例如:https://hiranya911.medium.com/firebase-python-admin-sdk-with-asyncio-d65f39463916
目前没有进展 - 欢迎提出任何建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。