You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask+Cloud Run环境下操作Firestore数据库时程序冻结及超时问题排查

问题:Firebase Admin操作Firestore无响应或超时

我在Cloud Run服务器上运行以下代码:

cred = credentials.Certificate("firebaseCertificate.json")
firebase_admin.initialize_app(cred)

app = Flask(__name__)

@app.route('/something', methods=["POST"])
def some_route():
    some_id = req["some_id"]
    print(some_id)
    # 此处之后无任何输出,Firestore数据库也无变化
    
    db = firestore.client()
    doc_ref = db.collection('some_collection').document(some_id)
    doc_data = doc_ref.get().to_dict()
    if doc_data == None:
        doc_data = {}
    doc_data['my_condition'] = True 
    doc_ref.set(doc_data)
    print("done modifying changes to firestore")
    return "Done!"
  • 第一个print正常输出后,终端无后续内容,无报错,Firestore数据库也没有文档被添加或修改
  • 问题在Cloud Run容器和本地机器上均出现
  • 后续程序直接出现超时错误,错误发生在获取数据库数据或执行doc_ref.set操作时
  • 已确认firebaseCertificate.json有效(已重置测试)
  • 此前类似代码在另一个端点运行正常
  • 无法使用Cloud Functions,因为全局代码依赖需要自定义Docker容器安装的外部依赖

解决方案

  • Cloud Run端:清理Artifact Registry中的旧容器后问题解决
  • 本地Windows机器:同步系统时间(此前系统时间快了2小时)后问题解决

内容的提问来源于stack exchange,提问作者Leotheperegrine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:23:18