Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为iOS发送9000/s推送通知_Python_Ios_Push Notification_Apple Push Notifications - Fatal编程技术网

Python 为iOS发送9000/s推送通知

Python 为iOS发送9000/s推送通知,python,ios,push-notification,apple-push-notifications,Python,Ios,Push Notification,Apple Push Notifications,我的系统大约有10000个iOS用户,我想向他们发送推送通知,但不需要花时间,因为我可能会在5分钟或更短的时间后为同一用户发送另一条消息, 我之前也在苹果网站上读过这个答案: 推送通知吞吐量和错误检查 使用APN没有上限或批次大小限制。iOS 6.1 新闻稿称,APNs已经发送了超过4万亿次推送 自建立以来的通知。它是在2012年WWDC上宣布的 APNs每天发送70亿条通知 如果吞吐量低于每秒9000个通知, 您的服务器可能会受益于改进的错误处理逻辑 但是当我一个接一个地发送通知时,a不知道如

我的系统大约有10000个iOS用户,我想向他们发送推送通知,但不需要花时间,因为我可能会在5分钟或更短的时间后为同一用户发送另一条消息, 我之前也在苹果网站上读过这个答案:

推送通知吞吐量和错误检查

使用APN没有上限或批次大小限制。iOS 6.1 新闻稿称,APNs已经发送了超过4万亿次推送 自建立以来的通知。它是在2012年WWDC上宣布的 APNs每天发送70亿条通知

如果吞吐量低于每秒9000个通知, 您的服务器可能会受益于改进的错误处理逻辑

但是当我一个接一个地发送通知时,a不知道如何发送9000/s的消息

我正在使用Python(PyAPNs),下面是我的代码:

from apns import APNs,Payload
result = execute("SELECT token_hex FROM `Users`")
for row in result:
    token_hex = row['token_hex']
    apns = APNs(use_sandbox=False, cert_file='Cert.pem', key_file='CertKey.pem')
    payload = Payload(alert="Message",badge=1,sound='default')
    apns.gateway_server.send_notification(token_hex, payload)
我在30多分钟内发送到10000个用户

那么,我的代码中有什么问题,或者我可以做些什么来在更短的时间内发送通知


提前感谢,

我不懂python,但看看你的代码,你似乎在不必要地重复调用。您应该使用相同的连接发送所有通知

也许你应该试试这样:

from apns import APNs,Payload
result = execute("SELECT token_hex FROM `Users`")
apns = APNs(use_sandbox=False, cert_file='Cert.pem', key_file='CertKey.pem')
payload = Payload(alert="Message",badge=1,sound='default')
for row in result:
    token_hex = row['token_hex']
    apns.gateway_server.send_notification(token_hex, payload)

这是假设您正在向所有设备发送相同的通知负载。

我不懂python,但看看您的代码,您似乎在不必要地重复调用。您应该使用相同的连接发送所有通知

也许你应该试试这样:

from apns import APNs,Payload
result = execute("SELECT token_hex FROM `Users`")
apns = APNs(use_sandbox=False, cert_file='Cert.pem', key_file='CertKey.pem')
payload = Payload(alert="Message",badge=1,sound='default')
for row in result:
    token_hex = row['token_hex']
    apns.gateway_server.send_notification(token_hex, payload)

这是假设您正在向所有设备发送相同的通知有效负载。

谢谢您的回答,我知道这将加快速度,但也不会像文档中所说的那样发送9000/s。。。发送给9000名用户大约需要2分钟谢谢你的回答,我知道这会使它更快,但它不会像文档中所说的那样发送9000/s。。。发送给9000名用户大约需要2分钟