问题: 该应用程序已经工作了多年,但自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有关 请帮助我
答案 0 :(得分:1)
我联系了Google支持。他们发现问题是由于appengine的套接字库中的配置错误所致。他们解决了问题,我的应用重新开始工作。一切都很好。
答案 1 :(得分:0)
确保要在ssl
中导入app.yaml
库的最新版本:
libraries:
- name: ssl
version: "2.7.11"