码迷,mamicode.com
首页 > 编程语言 > 详细

springboot定时任务

时间:2020-03-03 13:21:18      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:exce   ted   ati   ase   row   升级   save   error   scheduled   

写法一:

import com.xxx.entity.ByteDanceDataNode;
import com.xxx.service.ByteDanceDataService;
import com.xxx.service.DistrictService;
import com.xxx.service.StatusService;
import com.xxx.util.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.util.StringUtils;

import java.io.IOException;
import java.util.List;

@Slf4j
@Configuration
@EnableScheduling
public class ByteDanceFetchTask {

    @Autowired
    ByteDanceDataService dataService;

    @Autowired
    StatusService statusService;

    @Autowired
    DistrictService districtService;


    /**
     * 10分钟跑一次
     * @throws IOException
     */
    @Scheduled(fixedDelayString = "${task.initialDelay}", initialDelayString = "${task.fixedDelay}")
    public void doWork() throws IOException {

        log.info("正在执行定时任务");
        String json = dataService.getAllJsonData();
        if (StringUtils.isEmpty(json)) {
            log.error("json下载出错");
            return ;
        }
        ByteDanceDataNode node = dataService.getByteDanceDataNode(json);

        if (node == null) {
            log.error("json格式升级,解析根节点json出错");
            return ;
        }

        List<ByteDanceDataNode.ProvincesBean> provinces = node.getProvinces();

        if (provinces == null)
        {
            log.error("json格式升级,解析城市出错");
            return ;
        }


        String updateTime = DateUtil.epochSecondToFormattedDateTime(node.getUpdateTime());

        dataService.saveData(updateTime,provinces);

        statusService.saveStatus("lastUpdateTime",updateTime);

        dataService.computeWeight();

        log.info("定时任务执行完成");
    }

}

对应的配置文件

application.properties

#1*60*1000
task.initialDelay=60000
#10*60*1000
task.fixedDelay=600000

写法二:

import com.xxx.entity.ByteDanceDataNode;
import com.xxx.service.ByteDanceDataService;
import com.xxx.service.DistrictService;
import com.xxx.service.StatusService;
import com.xxx.util.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.util.StringUtils;

import java.io.IOException;
import java.util.List;

@Slf4j
@Configuration
@EnableScheduling
public class ByteDanceFetchTask {

    @Autowired
    ByteDanceDataService dataService;

    @Autowired
    StatusService statusService;

    @Autowired
    DistrictService districtService;


    /**
     * 5分钟跑一次
     * @throws IOException
     */
    @Scheduled(fixedDelay = 1 * 60 * 1000, initialDelay = 10 * 60 * 1000)
    public void doWork() throws IOException {

        log.info("正在执行定时任务");
        String json = dataService.getAllJsonData();
        if (StringUtils.isEmpty(json)) {
            log.error("json下载出错");
            return ;
        }
        ByteDanceDataNode node = dataService.getByteDanceDataNode(json);

        if (node == null) {
            log.error("json格式升级,解析根节点json出错");
            return ;
        }

        List<ByteDanceDataNode.ProvincesBean> provinces = node.getProvinces();

        if (provinces == null)
        {
            log.error("json格式升级,解析城市出错");
            return ;
        }


        String updateTime = DateUtil.epochSecondToFormattedDateTime(node.getUpdateTime());

        dataService.saveData(updateTime,provinces);

        statusService.saveStatus("lastUpdateTime",updateTime);

        dataService.computeWeight();

        log.info("定时任务执行完成");
    }

}

 

springboot定时任务

标签:exce   ted   ati   ase   row   升级   save   error   scheduled   

原文地址:https://www.cnblogs.com/passedbylove/p/12401476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!