日常生活中,相信大家都有这样的经历:其它人不记得你的生日,唯独银行和移动等平台会记得你的生日。不要认为它们真的会记得你的生日,这一切都是软件系统的定时任务自动触发的操作。
什么是定时任务?
定时任务其实是一种服务,基于定时任务服务可以定期触发我们设置的一些后台任务,比如:定时发送短信、定时备份文件、定时清理电脑垃圾、定时关机等等。
不要觉得定时任务技术很高深,其实本质上就是以特定时间段来定时轮循执行我们预设的任务。
定时任务的实现方案
我们说定时任务是一种服务,它有很多种的技术实现,下面整理出最为常见的几种实现方案供大家参考。
1)服务器端实现
任何一款服务器系统都自带有定时任务服务,比如:
- Linux系统:Crontab
- Windows系统:Windows计划任务
2)编程语言实现
除了服务器端的定时任务外,还可以通过各类编程语言来轮询实现定时任务的功能,于是也有了一些专业的定时任务框架,如:Quartz、Elastic-job、Hangfire等。
3)云计算平台提供的云端计划任务
现在云计算也是很普及的,各类云计算厂商也提供了在线计划任务管理,比如阿里云的在线计划任务就支持Cron表达式。
定时任务触发的最佳实践
通过上面的介绍我们都知道定时任务的实现方案有很多,但在现实中我们建议还是基于服务器端来实现定时任务,这样性能会更好一些。
同时建议具体的业务操作以Web API 的形式展现,然后定时任务去请求此Web API即可。
本文暂时没有评论,来添加一个吧(●'◡'●)