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天。

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

  • 相关阅读:
    tensorflow几个常见错误
    15、TDM模型
    算法97:成绩排名---动态规划
    推荐阅读论文
    Reservoir Sampling 蓄水池采样算法
    14、RALM: 实时 look-alike 算法在推荐系统中的应用
    NLP传统基础(3)---潜在语义分析LSA主题模型---SVD得到降维矩阵
    【SqlServer】SqlServer中的计算列
    【SQL】数据库中的五种约束
    【.NET】SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间
  • 原文地址:https://www.cnblogs.com/codeToSuccess/p/13906219.html
Copyright © 2011-2022 走看看