日常

25 篇文章 0 订阅
7 篇文章 0 订阅

需求:每五分钟推送一次

背景:

这个软件主要是关于房客源信息的实时采集的一个APP,利用爬虫由用户触发或者爬虫定时任务录取数据,通过用户查看房源详情首次爬取详细信息入库保存。软件有300多个市,3600个区域,每日日活1000多,房客源每日新增数据20-30万。目前,房源数据量约1000万,用户可订阅关注区域,由个推即时推送新房客源信息。

场景:

现推送机制“有新数据入库,然后调用个推接口进行对应推送”。由于触发的偶然性和爬虫自动爬取区域的局限性,导致频率太低,用户基本感受不到推送效果。目前,要求每五分钟刷新一遍房源,推送数据。

崎岖的实现过程:

老板一句需求,令我们愈挫愈勇,与方案作斗争。

经过上面激烈的讨论,方案一确定了。

考虑数据入库,爬虫暂时无法解决去重问题,采用之前单条入库的形式,按照指定时间统计,使用Linux定时任务发送推送数据。爬虫去重,考虑到基数太大,不能频繁操作RDS数据库,暂时放弃爬虫去重。那就不能按照时间划分,每5分钟一个统计,最终一天执行7次定时推送,这样间隔时间可以存库或者缓存。

由于爬虫不能去重,未被确定,我们这边打包入库已经实现,然后被遗弃O

经过团队合作,实现了方案一。测试上线,超过两个进程,CPU直线飙升,宕机。

虽然实现了定时推送,不能开多进程,还是不能顺利上线,更何况上面大佬们也没有给老总详解方案一的实现效果。

在测试过程中,和爬虫商量,能否加去重,基数不是所有数据,导出最近七天作为缓存,实现去重。经过共同努力,搞定。可以开多进程了,并且只有第一遍自动跑的时候,压力较大,随后可开多进程。一阵狂喜,终于取得胜利✌了。即时推送,相当美好!

上面人,又来了,不行,老板要五分钟一遍,然后进行推送。并且是以组统计推送。

作为技术,你懂的,大家的言语和表情。

之前开发的打包接口,又可以用上了。

这样经过调试,自己测试,要上线了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值