ios - iOS 推送通知:什么是“ThunderingHerdPolicy”?
问题描述
有谁知道ThunderingHerdPolicy
iOS是什么?我读过Thundering herd problem,这有助于我大致猜测这个问题在哪个领域,但我仍然没有真正的了解。我发送的这个推送通知应该不会有很多进程竞争,所以ThunderingHerdPolicy
不是传统的“雷声从众问题”。日志消息中另一个有趣的术语是timeSinceThunderingHerdTriggerEvent
. 那是什么。
在查看时Console.app
,我发现当我的推送通知消息被忽略/限制并且未向设备/用户显示时打印了一条日志消息。
日志消息显示:
{name: ThunderingHerdPolicy, policyWeight: 1.000, response: {Decision: Must Not Proceed, Score: 0.00, Rationale: [{deviceInUse == 1 AND timeSinceThunderingHerdTriggerEvent < 900}]}}
], FinalDecision: Must Not Proceed}
如果我猜的话,iOS 已经检测到了一个雷鸣般的羊群事件,许多应用程序都在争夺网络或电池资源。但是,timeSinceThunderingHerdTriggerEvent
恰好是 900(可能以秒或 15 分钟为单位),这意味着在收到推送通知时立即触发事件。也许最近我的应用或其他应用的后台工作太多,或者是一个错误。
解决方案
推荐阅读
- javascript - Javascript 过滤器不公平
- python-3.x - Python - Sqlite3 - 使用数据库双点运算符选择查询
- python-3.x - 降低比较连续子阵列的时间复杂度?
- java - 如果`jobject`代表同一个Java实例,它是否总是具有相同的地址?
- reactjs - ReactDOM.render 产生错误元素类型无效
- javascript - 如何从纯 JavaScript 中获取 div 的最长高度?
- python - 如何创建从纪元时间到 matplotlib 可以使用的可绘制日期
- c# - C# SQL Web 应用程序 - 调用方法时,我的 Web 应用程序不会执行必要的更新/删除
- docker - 本地找不到图片
- java - 使用带有 IIS 10 的 Tomcat ISAPI 配置的 Grails 3.3.8 应用程序出现 500 错误