应用部署后发现一个诡异的现象,虽通过定时器控制了应用执行时间,但是因代码中使用异步的方式去执行任务,导致代码出现不可控行为:推送消息会在凌晨发出
定时调度配置:
1 | <!-- rss定时抓取 --> |
被调用的推送消息的内部类(伪码):
1 | class RssServiceJShbNotice extends Thread |
修正办法
- 把消息推送改为同步
- 为避免程序被触发,直接关闭在早上7点再启动
Linux上定时关闭和启动Tomcat
启停脚本:
1 | !/bin/sh |
赋予脚本执行权限:
1 | chmod +777 脚本名称 |
添加调度,cron脚本:
1 | Edit this file to introduce tasks to be run by cron. |