V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoyong
V2EX  ›  程序员

关于 APP 消息推送,服务器后台是 php 的,如果一则消息要推送给一批设备,是不是必须有一个队列在后台执行?!

  •  
  •   xiaoyong · 2015-02-15 11:53:38 +08:00 · 4024 次点击
    这是一个创建于 3574 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,最近在研究APP消息推送,因为无论是与APNS对接还是与像信鸽这种第三方服务平台对接,推送消息时,都需要调用第三方服务器的接口。现在,服务器后台是php的,如果一则消息要推送给一批设备,而这一批设备没有共同特征,不能使用标签来聚集,设备的token时根据服务器动态计算出来的。如此一来,是不是必须有一个队列在后台执行,每次推送给一台设备 ?有没有更好的解决方法?
    6 条回复    2015-02-16 11:02:09 +08:00
    sun019
        1
    sun019  
       2015-02-15 11:58:01 +08:00
    请用 jpush 或者云推
    当然 有空或者推送是你们APP的核心功能 可以自己写
    awebird
        2
    awebird  
       2015-02-15 12:38:16 +08:00   ❤️ 1
    即使是一条,也建议放到队列里做。所有三方服务(短信,邮件,推送接口)的响应时间甚至稳定性都应该假定不可靠
    xiaoyong
        3
    xiaoyong  
    OP
       2015-02-15 12:48:02 +08:00
    @awebird 恩。php的队列功能有没有好的建议。谢
    belin520
        4
    belin520  
       2015-02-15 12:59:13 +08:00 via Android
    即使一条都队列
    awebird
        5
    awebird  
       2015-02-15 19:51:19 +08:00
    @xiaoyong 简单的话,可以建张任务表,该发推送的时候直接insert一条任务,配合crontab定期执行未完成的任务,修改任务状态这样。专业的还有Gearman,ActiveMQ这些方案
    julyclyde
        6
    julyclyde  
       2015-02-16 11:02:09 +08:00
    @awebird 用数据库不易解决重复发送的问题吧?稍微不流畅一下,下次cron就又发这条内容了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3138 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:55 · PVG 21:55 · LAX 05:55 · JFK 08:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.