python - Google Cloud Functions 在 Python 后台函数上引发“连接错误”
问题描述
Google Cloud Functions 从昨天开始随机抛出“连接错误”。几个月前我们遇到了这个错误并且没有修复,在我们重新部署相同的代码后它就消失了。
即使以前没有任何问题或错误的代码版本现在也有“连接错误”。
运行时:Python 3.7 内存:通常为 512MB 我们也尝试了 2GB。通过 Pub/Sub 消息触发。
要求.txt
google-cloud-datastore==1.7.3
google-cloud-pubsub==0.39.1
influxdb==5.2.3
pandas==0.24.2
numpy==1.19.2
googleads==23.0.1
croniter==0.3.30
sendgrid==6.1.1
oauth2client==4.1.3
gspread==3.2.0
requests==2.22.0
pyarrow==0.17.0
google-cloud-core==1.3.0
google-cloud-storage==1.23.0
google-cloud-logging==1.15.0
pydantic==1.6.1
基于对 nodejs 上相同错误的一些答案。通过更新到 node.js 的最近运行时来修复它。因此,我们也在尝试使用更新的 python 模块更新到 python 3.9。
有没有人在 Python 3.7 中遇到过同样的问题并且知道如何解决它?
解决方案
此问题发生在 Python 3.7 函数中,当它遇到日志吞吐量问题时。这会抛出 SIGTERM,这是一个终止信号,由函数或工作人员发送,并观察到连接错误。要解决此问题,建议:
- 减少日志记录,或
- 升级到 python 3.8 运行时。Python 3.8 没有这个日志记录吞吐量问题。
推荐阅读
- python - 从python中的dicom文件获取z-buffer(深度)信息
- c++ - 如何在对象数组中打印对象的变量
- ruby-on-rails - ActiveRecord::Base.connected?即使 DB 关闭也返回 true
- php - 将实体传递给 Form 时的 TransformationFailedException
- windows-installer - MSP 安装期间出现错误 1603
- arrays - 自适应排序算法与排序网络对 32 个随机元素的列表进行排序
- reactjs - cxjs 如何在选择中获取数组或对象的所有键?
- python - 如何优雅地迭代列表或字典
- talend - 从 HP ALM 提取数据时是否可以设置限制
- jenkins - Jenkins 管道 - mvn 命令无法正确读取 withCredentials 变量