• 基于springboot和quartz的定时任务小工具


    sim-task

    介绍

    一个简单的定时任务小工具,基于springboot+quartz,对quartz进行再次封装,简化定时任务使用方式,并提供一个web界面对定时任务进行操作以及日志监控。

    使用方式

    1. 下载jar包并install到本地maven仓库

    sim-task-client v0.0.1

    引入maven

    
    <dependency>
        <groupId>com.yao2san</groupId>
        <artifactId>sim-task-client</artifactId>
        <version>0.0.1</version>
    </dependency>
    

    2. 在你的Spring项目的启动类上添加注解来开启定时任务功能

    @EnabledSimTask
    

    3. 在配置文件中新增配置

    sim-task:
      # 服务端地址
      server-addr: 127.0.0.1:9000
      # 定时任务要扫描的包
      base-scan-packages: com.yao2san
      # 存储方式(非server将不会注册到服务端)
      store-type: server
    
    

    当你不需要将定时任务注册到服务端进行监控时,只需要配置需要扫描的定时任务的包即可:

    sim-task:
      base-scan-packages: com.yao2san
    
    

    4. 新建定时任务执行类,和使用quartz一样,实现Job接口即可,并使用注解@SimTask来标记它,表明它将被SIM-TASK管理

    @SimTask(name = "测试任务", cron = "0/5 * * * * ?")
    public class TaskTest2 implements Job {
        @Override
        public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
            try {
                Log.debug(jobExecutionContext, "开始执行");
                Log.info(jobExecutionContext, "执行中...");
                Log.warn(jobExecutionContext, "警告日志");
                Log.info(jobExecutionContext, "任务结束");
                throw new RuntimeException("测试抛出异常");
            } catch (Exception e) {
                e.printStackTrace();
                Log.error(jobExecutionContext, e.getMessage());
            }
    
        }
    }
    
    

    5. 持久化日志

    提供一个Log工具类将任务的执行日志保存到数据库中(是com.yao2san.simtaskclient.log.Log):

    Log.debug(jobExecutionContext, "debug日志");
    Log.info(jobExecutionContext, "info日志");
    Log.warn(jobExecutionContext, "警告日志");
    Log.error(jobExecutionContext, "错误日志");
    
    

    SIM-TASK服务端

    服务端提供定时任务列表查看、暂停、恢复、停止、启动、禁用定时任务的功能,以及执行日志查看。

    任务列表:

    在这里插入图片描述

    执行日志:

    在这里插入图片描述

  • 相关阅读:
    python中字典dict pop方法
    Markdown 学习资源
    Windows bat 设置代理
    Warning: Permanently added '...' (RSA) to the list of known hosts --Windows下git bash 警告处理
    subilme增加对markdown的高亮支持
    ubuntu笔记1
    Sublime Python 插件配置合集
    Excel VBA 快捷键 代码
    贩卖守望先锋账号
    如何用VS2017用C++语言写Hello world 程序?
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286613.html
Copyright © 2020-2023  润新知