【问题标题】:Google App Engine Python 2.7 SSL stopped workingGoogle App Engine Python 2.7 SSL 停止工作
【发布时间】:2019-04-16 15:10:45
【问题描述】:

问题: 该应用程序运行了多年,但自 2018 年 11 月 9 日起出现此错误 该代码使用 SSL 通过 Apple APNS 发送通知。它使用任务队列来发送通知。

Stackdrivers 中的错误是:<class 'socket.error'>: [Errno 11] Resource temporarily unavailable Cloud Tasks 充满了不断重试的任务。

我尝试了什么: 1- 起初我认为 Apple APNS 服务器可能出现故障,所以我在本地机器上尝试了相同的代码和相同的数据,它工作正常,所以 Apple 服务器工作。

2- 然后我尝试更改用于通过其中一个分支发送通知的库:https://github.com/djacobs/PyAPNs 在 locale 中它的工作方式与另一个相同,在 App 引擎中它不起作用,因此不同的 fork 没有区别。

但App引擎中的错误更清楚:

File "/base/alloc/tmpfs/dynamic_runtimes/python27g/90ff42587f3b5ce/python27/python27_lib/versions/third_party/ssl-2.7.11/ssl.py", line 843, in do_handshake
    self._sslobj.do_handshake()
error: [Errno 11] Resource temporarily unavailable

3- 我上传了带有较新安装的 App Engine(版本 220)的项目,除了通过 SSL 发送到 Apple APNS 的通知外,一切正常(网站、谷歌云端点、android 通知...)

在我看来,问题与 SSL 有关 请帮帮我

【问题讨论】:

    标签: google-app-engine ssl


    【解决方案1】:

    我联系了 Google 支持。他们发现问题是由于应用引擎的套接字库中的错误配置造成的。他们解决了问题,我的应用重新开始工作。一切都很好。

    【讨论】:

      【解决方案2】:

      确保您在app.yaml 中导入最新版本的ssl 库:

      libraries:
      
      - name: ssl   
        version: "2.7.11"
      

      【讨论】:

      • 是的,我正在导入 SSL 库,这就是它工作多年的原因。我向谷歌提出了一个问题,新的套接字实现似乎是一个问题,旧的实现一切正常。他们正在调查。
      • 是的,但我的意思是确保您拥有>2.7.11。 GAE 最近弃用了 2.7.11 之前的每个版本。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 2012-11-17
      • 2013-11-08
      • 2011-07-09
      • 1970-01-01
      • 2018-04-29
      • 2015-11-19
      相关资源
      最近更新 更多