定时任务的编写

编写controller或者service

定时任务写在run方法中

public class TotalNumberStatisticsController implements Runnable {
    private boolean started = false;
    private TotalNumberStatisticsController service = null;

    /*
     * 在标准地表xxx_resource_data查询标准地数据统计总数,执行该方法当天的时间,再将查询结果添加到资源标准地统计总数表xxx_resource_sland_sum_statistics
     * 每月执行一次
     * */
    @Override
    public void run() {
        if (started) {
            if (service == null) {
                service = Enhancer.enhance(TotalNumberStatisticsController.class);
            }
            if (service != null) {
                Record records = Db.findFirst("select count(*) as sum from xxx_resource_data where del = 0");
                Integer sum = records.getInt("sum");
                Record sum_time = new Record();
                sum_time.set("total_number", sum);
                sum_time.set("date", new Date());
                Db.save("xxx_resource_sland_sum_statistics", sum_time);
                System.out.println("**************************************");
                System.out.println("方法执行成功!数据添加成功!");
            }

        }
    }

    public boolean isStarted() {
        return started;
    }

    public void setStarted(boolean started) {
        this.started = started;
    }

}

配置:

/**
             * 配置插件
             */
            @Override
            public void configPlugin(Plugins me) {
                super.configPlugin(me);
                Cron4jPlugin cp = new Cron4jPlugin("task.txt");
                me.add(cp);
                me.add(new JwtTokenPlugin(UpmsJwtUserService.me()));
//                me.add(new LicensePlugin());
                Cron4jPlugin cp1 = new Cron4jPlugin();
                Cron4jPlugin cp2 = new Cron4jPlugin();
                timingChangeTokenController = new TimingChangeTokenController();
                totalNumberStatisticsController = new TotalNumberStatisticsController();
                cp1.addTask("0 0 */2 * *", timingChangeTokenController);
                cp2.addTask("1 0 1 * *",totalNumberStatisticsController);
                //cp2.addTask("* * * * *",totalNumberStatisticsController);
//                cp.addTask("* * * * *", pollutionsourceService);
                me.add(cp1);
                me.add(cp2);
            }

配置启动  判断如果编写的controller或者service不为空,则启动任务

 @Override
        public void onStart() {
            super.onStart();
            com.lambkit.core.api.route.ApiRoute.me().onStart();
            if(totalNumberStatisticsController!=null) totalNumberStatisticsController.setStarted(true);
        }
    });
}

task.txt

# cron 表达式由五部分组成:分 时 天 月 周
# 分 :从 0 到 59
# 时 :从 0 到 23
# 天 :从 1 到 31,字母 L 可以表示月的最后一天
# 月 :从 1 到 12,可以别名:jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov" and "dec"
# 周 :从 0 到 6,0 表示周日,6 表示周六,可以使用别名: "sun", "mon", "tue", "wed", "thu", "fri" and "sat"
#
# 数字 n:表示一个具体的时间点,例如 5 * * * * 表示 5 分这个时间点时执行
# 逗号 , :表示指定多个数值,例如 3,5 * * * * 表示 3 和 5 分这两个时间点执行
# 减号 -:表示范围,例如 1-3 * * * * 表示 1 分、2 分再到 3 分这三个时间点执行
# 星号 *:表示每一个时间点,例如 * * * * * 表示每分钟执行
# 除号 /:表示指定一个值的增加幅度。例如 n/m表示从 n 开始,每次增加 m 的时间点执行
# cron4j 集成cron 只有 分 时 天 月 周  没有秒

cron4j=cleanOrderIncr
cleanOrderIncr.cron=15 * * * *
cleanOrderIncr.class=com.xxxx.server.controller.XxxxController
cleanOrderIncr.daemon=true
cleanOrderIncr.enable=true

cron表达式 自行百度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值