Twisted和pyapns推送通知错误
我之前使用Twisted和pyapns可以发送推送通知。后来我重启了我的EC2实例,启动了我的网页服务器和Twisted。重启之后,我就无法发送和接收推送通知了。我查看了Twisted的日志,发现了以下内容:
2013-02-22 17:50:40+0000 [-] Starting factory <pyapns.server.APNSClientFactory instance at 0x90f9e4c>
2013-02-22 17:50:40+0000 [-] APNSClientFactory startedConnecting
2013-02-22 17:50:40+0000 [Uninitialized] APNSProtocol connectionMade
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] APNSProtocol connectionLost
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] APNSClientFactory clientConnectionLost reason=[Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.]
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] <twisted.internet.tcp.Connector instance at 0x9025e4c> will retry in 2 seconds
2013-02-22 17:50:41+0000 [APNSProtocol (TLSMemoryBIOProtocol),client] Stopping factory <pyapns.server.APNSClientFactory instance at 0x90f9e4c>
在日志中,跟踪信息是:Traceback (failure with no frames):
<class'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.]
我该如何找到解决办法呢?
1 个回答
2
我其实找到了问题所在。原来,我的应用程序还在向苹果的沙盒服务器发送通知。苹果会在达到一定数量后拒绝任何发送的通知。我只需要按照这里的说明修改utils.py文件就可以了:http://highonpython.com/index.php/setting-up-ios-push-notifications-apns-with-pythondjango-through-pyapns/
把'sandbox'改成'production'就可以了。如果你的推送通知之前能正常工作,这样做应该能解决你的问题。
希望这能帮到你!