大家好,我是苏三,很高兴再次与大家见面。最近有几位读者通过私信问我,他们在不同的业务场景下应该使用什么样的定时任务。确实,不同的业务需求需要不同的定时任务,我们的选择非常多样。今天我将为大家总结10种非常实用的定时任务,相信总有一种适合你的需求。
一. 使用Linux自带的定时任务crontab
你是否遇到过这样的场景:有时需要临时统计线上的数据,然后将数据导出到Excel表格中。这种需求有时较为复杂,仅靠编写SQL语句无法满足,这时就需要编写Java代码。然后将该程序打包成一个JAR文件,在线上环境执行,最后将生成的Excel文件下载到本地。
为了减少对线上环境的影响,我们通常选择在凌晨1-2点进行统计操作(实际上,凌晨4点左右用户量是最少的)。
由于时间太晚,我们完全没必要守在那里等待执行结果,一个定时任务就能解决这个问题。
那么,在这种情况下,哪种定时任务更合适呢?
答案是:Linux系统的crontab。(当然,也有一些项目可能未部署在Linux系统上)
运行crontab -e命令,可以编辑定时器,然后添加以下命令:
有道小P
有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。
64 查看详情
0 2 * * * /usr/local/java/jdk1.8/bin/java -jar /data/app/tool.jar > /logs/tool.log &
这样,系统会在每天凌晨2点自动执行tool.jar程序,并将日志输出到tool.log文件中。当然,你也可以将执行Java程序的命令写成shell脚本,这样更便于维护。
使用这种定时任务的好处是可以方便地修改定时规则,并且有一个界面可以统一管理配置的各种定时脚本。
crontab命令的基本格式如下:
crontab [参数] [文件名]
如果没有指定文件名,则会从键盘接收输入的命令,并将其加载到crontab中。
参数功能对照表如下:
-u指定用户-e编辑某个用户的crontab文件内容-l显示某个用户的crontab文件内容-r删除某用户的crontab文件-i删除某用户的crontab文件时需确认

以上就是学会这10种定时任务,我有点飘了的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/478677.html
微信扫一扫
支付宝扫一扫