Google App Engine Python 2.7 SSL停止工作

时间:2018-11-13 17:52:55

标签: google-app-engine ssl

问题: 该应用程序已经工作了多年,但自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 在语言环境中,它的工作方式与其他语言相同,在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有关 请帮助我

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

libraries:

- name: ssl   
  version: "2.7.11"