P1 Spring Boot定时器,运行实例
程序员文章站
2022-06-09 10:53:45
...
需求:实现热门标签
分析:需要设计算法,热门算法有很多,包括各种权重值,热度。如果使用ES,ES是支持热度的权重去搜索。先用简单的做。
为什么引入定时器?如果客户每次客户访问主页,都去数据库group一下,是一个非常延迟的任务。在随着性能,响应时间逐渐增加,通常倾向于把它制作成异步的离线任务,当它计算完成之后,回写结果,制作成一个API形式。
官方网址:https://spring.io/guides/gs/scheduling-tasks/
package life.majiang.community.schedule;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 热门标签定时器,此处是测试定时任务(每隔5秒打印日志)
* 注意:需在main方法的那个类上添加@EnableScheduling注解
*/
@Component
@Slf4j
public class HotTagTasks {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
log.info("The time is now {}", dateFormat.format(new Date()));
}
}
注意添加启动项:
测试结果:
下一篇: P3 定时器实战-计算优先级