欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

P1 Spring Boot定时器,运行实例

程序员文章站 2022-06-09 10:53:45
...
需求:实现热门标签

分析:需要设计算法,热门算法有很多,包括各种权重值,热度。如果使用ES,ES是支持热度的权重去搜索。先用简单的做。
为什么引入定时器?如果客户每次客户访问主页,都去数据库group一下,是一个非常延迟的任务。在随着性能,响应时间逐渐增加,通常倾向于把它制作成异步的离线任务,当它计算完成之后,回写结果,制作成一个API形式。
官方网址:https://spring.io/guides/gs/scheduling-tasks/
P1 Spring Boot定时器,运行实例

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()));
    }
}

注意添加启动项:
P1 Spring Boot定时器,运行实例
测试结果:
P1 Spring Boot定时器,运行实例