比如下午15点我需要给10个用户发送信息,不能漏发,且每天都需要发送,每天发送的用户都有可能不一样

解决方案 »

  1.   

    crontab
      

  2.   

    楼主明显问的是redis的数据更新问题,因他每天发的都不一样,而不是问的怎么定时的问题吧?
      

  3.   

    crontab -e     >输入    0     4     *   *       *  php /data/www/cmd.php //每天下午15点方案一
    cmd.php 文件里面要做如下几件事情
    1.获取当天要发送的用户
    2.发送消息接口请求完之后 拿到发送成功与失败的状态
    3.记录状态结果
    方案二
    如果要发送的用户足够多,
    cmd.php 
     1.获取用户信息后存到redis list    或者 (zset 可以保证你要发送的用户不会重复)2.在加个php文件用作消费redis 数据 比如每次取10个 (注意zset取完手动删除)
    或者用pcntl_fork 多进程方式每个进程处理10个数据就结束3.记录下发消息状态   失败的重新加入redis