文章定时自动采集(关于,和定时任务的一些需求实现需求介绍)
优采云 发布时间: 2022-04-03 07:15文章定时自动采集(关于,和定时任务的一些需求实现需求介绍)
我们在写业务逻辑的时候,总会遇到一些“自动更新”和“定时任务”的需求。那么,我们应该如何实现这些要求呢?
1:分析需求
其实大致有两种需求:“伪自动”和“真自动”
1:什么是伪自动?
场景(1):
有优惠券功能,有有效期。到了过期时间,会自动更新到无效状态,用户不能再次使用。
场景(2):
有大转盘功能,有自动上下功能,该上架自动上架,到期自动下架
这个要求是完全可以的
当用户查看该数据时,进行更新,
例如(1):
用户查询使用优惠券时,先更新状态,再取数据
例如(2):
用户进入大转盘抽奖时,在大转盘中奖前,上市时间小于当前时间更新到上市状态,未上市时间更新时间小于当前时间到上市状态未上市状态
这种伪自动化可以由用户触发。系统无需后台干预,无需使用定时任务进行处理,即可实现功能。
2:什么是真正的自动?
真正的自动通常与定时任务相关联。没有定时任务和系统的自动运行,就没有真正的自动化。
场景(1):
某网站数据量太大,每天产生100万浏览数据。后台管理员想查看某天、每小时的数据统计。
常规做法:直接取出某一天的数据,按小时分组统计
但是100万的数据量太大,处理时间很长。管理员不忍心等待十多秒甚至几十秒才能查看一次数据。
场景(2):
某某网站为了留住老客户,当老客户超过30天没有登录网站,发邮件照顾一下,等到老客户生日的时候, 自动发邮件来处理
这两种场景不能使用伪自动
因为,当用户没有触发(某个网站长时间没有被访问,没有触发),或者用户触发来不及(即时触发的等待时间太长)时,有必要使用真正的自动和使用定时任务来解决这样的需求
2:定时任务的实现
对于定时任务的执行,我学习了以下解决方案:
1:phpweb方法
<p>