zoukankan      html  css  js  c++  java
  • 大批量推送项目日记(五):代码自测

    2020.8.7

    正文

    今日,本人将代码完善的差不多了。

    1.本人的代码提供了一个接口url,被调用时,先从数据库select出待推送的数据条数,然后用for循环,调用另一个接口(别人写好的url),并update数据库中该条数据的状态标志为已推送;这样就实现了给用户推送消息的功能。

    2.其中,还有一个最大重试次数的逻辑,如果出现推送未成功的数据,则sleep指定时间后,重新调用接口发起推送。

    3.然后就是昨天写的逻辑了,当该线程正在处理时,如果本人的接口再次被调用,也不会重复执行该线程。

    自测结果如下:

    select与update操作100条数据(每条数据中有1000个用户),发起100次http请求;也就是10万个消息,用时【10秒】;

    select与update操作1000条数据(每条数据中有1000个用户),发起1000次http请求;也就是100万个消息,用时【2分】;

    select与update操作10000条数据(每条数据中有1000个用户),发起10000次http请求;也就是100万个消息,用时【22分】;

    考虑到实际情况,一般一次最多给100万个用户每人推送一条消息就够了,也就是100万个消息,【2分】就执行完了,还可以接受。

    -----------------------------------------------------

    后记

    虽然是大批量推送项目,不过总感觉本人负责的模块不是很复杂,用常规方法就写完了,没什么特殊处理。

    如果推送到一半出错,重新调用一次本人的接口就行了(本人还有发现推送失败的任务后重新推送的逻辑在)。

    总的来说,开发用时2天,完善用时2天,自测用时1天。

    下周开始联调,到时候看看有没有其余问题吧。

  • 相关阅读:
    jquery点滴总结
    优雅降级和渐进增强的区别
    editplus 常用
    whm 设置共享IP
    php抓取页面的几种方法详解
    上传数据插件 Easy Populate 遇到问题 ?langer=remove
    zencart里常用 SQL
    5个简单的步骤把 WordPress 打造成 CMS
    基于PHP的cURL快速入门
    常用软件、插件名称
  • 原文地址:https://www.cnblogs.com/codeToSuccess/p/13906219.html
Copyright © 2011-2022 走看看