apns推送(Python)

本文介绍了如何使用Python库PyAPNs2进行APNS推送服务,强调了直接下载源码而非通过pip安装的建议,以及设置心跳线程维持与APNS服务器长连接的重要性。澄清了心跳不是用于检测连接状态,而是保持连接。同时指出重连应在实际发送通知前进行,如在send_notification_batch函数中的connect操作。这些措施确保了长连接的稳定性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我司之前,一直听说用极光推送,后来发现公司有一个C++版本的APNS推送服务,但是写得非常烂,三天两头挂,天天被上司骂,然后在全球同性交友网站上游荡了两天,发现了一个逻辑清晰的库

https://github.com/Pr0Ger/PyAPNs2

虽然git上还有很多其他的,但是个人觉得这一个逻辑远比其他的清晰,不会出现报错都不知道为什么;

建议:直接下源码到源码路径,不要pip安装,因为你可能需要进行日志添加

需要另起一个线程调用心跳(heartbeat),来保持和APNS SERVER的长连接;这里有个很容易造成误解的地方,之前同事一直误认为,心跳是为了检查长连接是否存在,其实并不是,心跳只是为了保持长连接,即使长连接断掉也并不需要去判断重连(重连的地方并不是在心跳这里)

    def _start_heartbeat(self, heartbeat_period):
        conn_ref = weakref.ref(self._connection)

        def watchdog():
            while True:
                conn = conn_ref()
                if conn is None:
                    break

                conn.ping('0' * 8)
                nowtime = time.strftime("%Y-%m-%d %H:%M:%S", tim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值