springboot 2.0.7支持quartz多节点分布式任务调度
springboot 2.0.7支持quartz多节点分布式任务调度,
每个节点不重复调度任务,节点故障停机,自动转移到其他节点任务;
pom.xml 配置spring-boot-starter-quartz:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.spiderflow</groupId><artifactId>spider-flow</artifactId><version>0.5.0</version><packaging>pom</packaging><name>spiderflow</name><url>https://gitee.com/jmxd/spider-flow</url><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spider-flow.version>${project.version}</spider-flow.version><alibaba.fastjson.version>1.2.83</alibaba.fastjson.version><alibaba.druid.version>1.1.16</alibaba.druid.version><alibaba.transmittable.version>2.11.5</alibaba.transmittable.version><mybatis.plus.version>3.1.0</mybatis.plus.version><apache.commons.text.verion>1.6</apache.commons.text.verion><apache.commons.csv.verion>1.8</apache.commons.csv.verion><commons.io.version>2.7</commons.io.version><guava.version>28.2-jre</guava.version><jsoup.version>1.11.3</jsoup.version><xsoup.version>0.3.1</xsoup.version></properties><dependencies><!-- spring-boot相关配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--quartz定时任务配置--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency><!-- 数据库相关 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis.plus.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.18</version></dependency><!-- alibaba相关包 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${alibaba.fastjson.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${alibaba.druid.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>${alibaba.transmittable.version}</version></dependency><!-- apache commons相关 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-text</artifactId><version>${apache.commons.text.verion}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-csv</artifactId><version>${apache.commons.csv.verion}</version></dependency><!-- commons包 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons.io.version}</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId></dependency><!-- 其它包 --><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>${guava.version}</version></dependency><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>${jsoup.version}</version></dependency><dependency><groupId>us.codecraft</groupId><artifactId>xsoup</artifactId><version>${xsoup.version}</version></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-api</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-core</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-selenium</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-proxypool</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-mongodb</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-redis</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-ocr</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-oss</artifactId><version>${spider-flow.version}</version></dependency><dependency><groupId>org.spiderflow</groupId><artifactId>spider-flow-mailbox</artifactId><version>${spider-flow.version}</version></dependency></dependencies></dependencyManagement><modules><module>spider-flow-api</module><module>spider-flow-core</module><module>spider-flow-web</module></modules>
</project>
application.yml配置quartz
logging:level:root: INFO
selenium:driver:chrome: E:/driver/chromedriver.exefirefox: E:/driver/geckodriver.exe
spider:bloomfilter:capacity: 1000000error-rate: 0.0001job:enable: truenotice:content:end: 流程结束执行:{name},结束时间:{currentDate}exception: 流程发生异常:{name},异常时间:{currentDate}start: 流程开始执行:{name},开始时间:{currentDate}subject: 采集平台流程通知thread:default: 8max: 64detect:dead-cycle: 5000workspace: /data/spider
spring:autoconfigure:exclude: org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration,org.springframework.boot.autoconfigure.mongo.MongoAutoConfigurationdatasource:driver-class-name: com.mysql.cj.jdbc.Driverpassword: 1234url: jdbc:mysql://rm-uf6c2o6h7hg0rw69iw1o.mysql.rds.aliyuncs.com:3306/spiderflow?useSSL=false&useUnicode=true&characterEncoding=UTF8&autoReconnect=true&serverTimezone=UTCusername: realize#quartz相关属性配置quartz:properties:org:quartz:scheduler:instanceName: clusteredSchedulerinstanceId: AUTOjobStore:class: org.quartz.impl.jdbcjobstore.JobStoreTXdriverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegatetablePrefix: qrtz_#quartz支持多节点集群开启 isClustered: trueclusterCheckinInterval: 10000useProperties: falsethreadPool:class: org.quartz.simpl.SimpleThreadPoolthreadCount: 10threadPriority: 5threadsInheritContextClassLoaderOfInitializingThread: true#quartz支持多节点数据库存储方式job-store-type: jdbcjackson:date-format: yyyy-MM-dd HH:mm:ssserialization:fail_on_empty_beans: falsetime-zone: GMT+8mail:default-encoding: UTF-8host: smtp.qq.compassword: kymsyfdewmsjbadguuport: 465properties:mail:smtp:auth: truesocketFactory:class: javax.net.ssl.SSLSocketFactoryfallback: falseport: 465starttls:enable: truerequired: trueprotocol: smtpusername: 110220368@qq.commvc:favicon:enabled: false
quartz依赖12张表脚本:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for qrtz_blob_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_blob_triggers`;
CREATE TABLE `qrtz_blob_triggers` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`BLOB_DATA` blob NULL,PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_blob_triggers
-- ------------------------------ ----------------------------
-- Table structure for qrtz_calendars
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_calendars`;
CREATE TABLE `qrtz_calendars` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`CALENDAR_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`CALENDAR` blob NOT NULL,PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_calendars
-- ------------------------------ ----------------------------
-- Table structure for qrtz_cron_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_cron_triggers`;
CREATE TABLE `qrtz_cron_triggers` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`CRON_EXPRESSION` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TIME_ZONE_ID` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_cron_triggers
-- ----------------------------
INSERT INTO `qrtz_cron_triggers` VALUES ('quartzScheduler', 'SPIDER_TASK_f0a67f17ee1a498a9b2f4ca30556f3c3', 'DEFAULT', '0 0/2 * * * ? ', 'Asia/Shanghai');-- ----------------------------
-- Table structure for qrtz_fired_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_fired_triggers`;
CREATE TABLE `qrtz_fired_triggers` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`ENTRY_ID` varchar(95) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`INSTANCE_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`FIRED_TIME` bigint NOT NULL,`SCHED_TIME` bigint NOT NULL,`PRIORITY` int NOT NULL,`STATE` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`JOB_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`JOB_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_fired_triggers
-- ------------------------------ ----------------------------
-- Table structure for qrtz_job_details
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_job_details`;
CREATE TABLE `qrtz_job_details` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`JOB_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`JOB_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`DESCRIPTION` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`IS_DURABLE` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`JOB_DATA` blob NULL,PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_job_details
-- ----------------------------
INSERT INTO `qrtz_job_details` VALUES ('quartzScheduler', 'SPIDER_TASK_f0a67f17ee1a498a9b2f4ca30556f3c3', 'DEFAULT', NULL, 'org.spiderflow.core.job.SpiderJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000B5350494445525F464C4F57737200246F72672E737069646572666C6F772E636F72652E6D6F64656C2E537069646572466C6F77EFF1C1430DBD7C5602000A4C000A637265617465446174657400104C6A6176612F7574696C2F446174653B4C000463726F6E7400124C6A6176612F6C616E672F537472696E673B4C0007656E61626C656471007E000A4C000C65786563757465436F756E747400134C6A6176612F6C616E672F496E74656765723B4C0002696471007E000A4C000F6C6173744578656375746554696D6571007E00094C00046E616D6571007E000A4C000F6E6578744578656375746554696D6571007E00094C000772756E6E696E6771007E000B4C0003786D6C71007E000A78707372000E6A6176612E7574696C2E44617465686A81014B597419030000787077080000016CB995DC707874000E3020302F32202A202A202A203F2074000130737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000006574002066306136376631376565316134393861396232663463613330353536663363337371007E000D77080000018754EBEB0078740012E68A93E58F96E6AF8FE697A5E88F9CE4BBB77070740F8A3C6D7847726170684D6F64656C3E0A20203C726F6F743E0A202020203C6D7843656C6C2069643D2230223E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B7370696465724E616D652671756F743B3A2671756F743BE68A93E58F96E6AF8FE697A5E88F9CE4BBB72671756F743B2C2671756F743B7375626D69742D73747261746567792671756F743B3A2671756F743B72616E646F6D2671756F743B2C2671756F743B746872656164436F756E742671756F743B3A2671756F743B2671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D22312220706172656E743D2230222F3E0A202020203C6D7843656C6C2069643D2232222076616C75653D22E5BC80E5A78B22207374796C653D2273746172742220706172656E743D223122207665727465783D2231223E0A2020202020203C6D7847656F6D6574727920783D2238302220793D223830222077696474683D22323422206865696768743D223234222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B73686170652671756F743B3A2671756F743B73746172742671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2233222076616C75653D22E5BC80E5A78BE68A93E58F9622207374796C653D22726571756573742220706172656E743D223122207665727465783D2231223E0A2020202020203C6D7847656F6D6574727920783D223231392E38333333343335303538353933382220793D223830222077696474683D22323422206865696768743D223234222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B76616C75652671756F743B3A2671756F743BE5BC80E5A78BE68A93E58F962671756F743B2C2671756F743B6C6F6F705661726961626C654E616D652671756F743B3A2671756F743B2671756F743B2C2671756F743B6D6574686F642671756F743B3A2671756F743B4745542671756F743B2C2671756F743B736C6565702671756F743B3A2671756F743B2671756F743B2C2671756F743B74696D656F75742671756F743B3A2671756F743B2671756F743B2C2671756F743B726573706F6E73652D636861727365742671756F743B3A2671756F743B2671756F743B2C2671756F743B7265747279436F756E742671756F743B3A2671756F743B2671756F743B2C2671756F743B7265747279496E74657276616C2671756F743B3A2671756F743B2671756F743B2C2671756F743B626F64792D747970652671756F743B3A2671756F743B6E6F6E652671756F743B2C2671756F743B626F64792D636F6E74656E742D747970652671756F743B3A2671756F743B746578742F706C61696E2671756F743B2C2671756F743B6C6F6F70436F756E742671756F743B3A2671756F743B2671756F743B2C2671756F743B75726C2671756F743B3A2671756F743B687474703A2F2F7777772E6265696A696E6770726963652E636E3A383038362F70726963652F7072696365546F6461792F506167654C6F61642F4C6F616450726963653F6A736F6E63616C6C6261636B3D312671756F743B2C2671756F743B70726F78792671756F743B3A2671756F743B2671756F743B2C2671756F743B726571756573742D626F64792671756F743B3A2671756F743B2671756F743B2C2671756F743B666F6C6C6F772D72656469726563742671756F743B3A2671756F743B312671756F743B2C2671756F743B746C732D76616C69646174652671756F743B3A2671756F743B312671756F743B2C2671756F743B636F6F6B69652D6175746F2D7365742671756F743B3A2671756F743B312671756F743B2C2671756F743B7265706561742D656E61626C652671756F743B3A2671756F743B302671756F743B2C2671756F743B73686170652671756F743B3A2671756F743B726571756573742671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2234222076616C75653D222220706172656E743D22312220736F757263653D223222207461726765743D22332220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B76616C75652671756F743B3A2671756F743B2671756F743B2C2671756F743B636F6E646974696F6E2671756F743B3A2671756F743B2671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2235222076616C75653D22E8A7A3E69E904A534F4E22207374796C653D227661726961626C652220706172656E743D223122207665727465783D2231223E0A2020202020203C6D7847656F6D6574727920783D223335302220793D223830222077696474683D22323422206865696768743D223234222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B76616C75652671756F743B3A2671756F743BE8A7A3E69E904A534F4E2671756F743B2C2671756F743B6C6F6F705661726961626C654E616D652671756F743B3A2671756F743B2671756F743B2C2671756F743B7661726961626C652D6E616D652671756F743B3A5B2671756F743B6A736F6E7374722671756F743B2C2671756F743B6A736F6E646174612671756F743B2C2671756F743B646174612671756F743B5D2C2671756F743B7661726961626C652D6465736372697074696F6E2671756F743B3A5B2671756F743B2671756F743B2C2671756F743B2671756F743B2C2671756F743B2671756F743B5D2C2671756F743B6C6F6F70436F756E742671756F743B3A2671756F743B2671756F743B2C2671756F743B7661726961626C652D76616C75652671756F743B3A5B2671756F743B247B737472696E672E737562737472696E6728726573702E68746D6C2C322C726573702E68746D6C2E6C656E67746828292D31297D2671756F743B2C2671756F743B247B6A736F6E2E7061727365286A736F6E737472297D2671756F743B2C2671756F743B247B657874726163742E6A736F6E70617468286A736F6E646174615B315D2C262333393B64617461262333393B297D2671756F743B5D2C2671756F743B73686170652671756F743B3A2671756F743B7661726961626C652671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2236222076616C75653D222220706172656E743D22312220736F757263653D223322207461726765743D22352220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B76616C75652671756F743B3A2671756F743B2671756F743B2C2671756F743B636F6E646974696F6E2671756F743B3A2671756F743B2671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2237222076616C75653D22E8BE93E587BA22207374796C653D226F75747075742220706172656E743D223122207665727465783D2231223E0A2020202020203C6D7847656F6D6574727920783D223438302E31363636383730313137313837352220793D223830222077696474683D22323422206865696768743D223234222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B76616C75652671756F743B3A2671756F743BE8BE93E587BA2671756F743B2C2671756F743B6C6F6F705661726961626C654E616D652671756F743B3A2671756F743B692671756F743B2C2671756F743B7461626C654E616D652671756F743B3A2671756F743B2671756F743B2C2671756F743B6373764E616D652671756F743B3A2671756F743B2671756F743B2C2671756F743B637376456E636F64696E672671756F743B3A2671756F743B47424B2671756F743B2C2671756F743B6F75747075742D6E616D652671756F743B3A5B2671756F743BE88F9CE5908D2671756F743B2C2671756F743BE88F9CE4BBB72671756F743B2C2671756F743BE58D95E4BD8D2671756F743B5D2C2671756F743B6C6F6F70436F756E742671756F743B3A2671756F743B247B6C6973742E6C656E6774682864617461297D2671756F743B2C2671756F743B6F75747075742D76616C75652671756F743B3A5B2671756F743B247B646174615B695D2E4974656D4E616D657D2671756F743B2C2671756F743B247B646174615B695D2E507269636530347D2671756F743B2C2671756F743B247B646174615B695D2E4974656D556E69747D2671756F743B5D2C2671756F743B6F75747075742D616C6C2671756F743B3A2671756F743B302671756F743B2C2671756F743B6F75747075742D64617461626173652671756F743B3A2671756F743B302671756F743B2C2671756F743B6F75747075742D6373762671756F743B3A2671756F743B302671756F743B2C2671756F743B73686170652671756F743B3A2671756F743B6F75747075742671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A202020203C6D7843656C6C2069643D2238222076616C75653D222220706172656E743D22312220736F757263653D223522207461726765743D22372220656467653D2231223E0A2020202020203C6D7847656F6D657472792072656C61746976653D2231222061733D2267656F6D65747279222F3E0A2020202020203C4A736F6E50726F70657274792061733D2264617461223E0A20202020202020207B2671756F743B76616C75652671756F743B3A2671756F743B2671756F743B2C2671756F743B636F6E646974696F6E2671756F743B3A2671756F743B2671756F743B7D0A2020202020203C2F4A736F6E50726F70657274793E0A202020203C2F6D7843656C6C3E0A20203C2F726F6F743E0A3C2F6D7847726170684D6F64656C3E0A7800);-- ----------------------------
-- Table structure for qrtz_locks
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_locks`;
CREATE TABLE `qrtz_locks` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`LOCK_NAME` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_locks
-- ----------------------------
INSERT INTO `qrtz_locks` VALUES ('quartzScheduler', 'STATE_ACCESS');
INSERT INTO `qrtz_locks` VALUES ('quartzScheduler', 'TRIGGER_ACCESS');-- ----------------------------
-- Table structure for qrtz_paused_trigger_grps
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
CREATE TABLE `qrtz_paused_trigger_grps` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_paused_trigger_grps
-- ------------------------------ ----------------------------
-- Table structure for qrtz_scheduler_state
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_scheduler_state`;
CREATE TABLE `qrtz_scheduler_state` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`INSTANCE_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`LAST_CHECKIN_TIME` bigint NOT NULL,`CHECKIN_INTERVAL` bigint NOT NULL,PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_scheduler_state
-- ----------------------------
INSERT INTO `qrtz_scheduler_state` VALUES ('quartzScheduler', 'DESKTOP-78901680772590763', 1680772872525, 10000);-- ----------------------------
-- Table structure for qrtz_simple_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simple_triggers`;
CREATE TABLE `qrtz_simple_triggers` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`REPEAT_COUNT` bigint NOT NULL,`REPEAT_INTERVAL` bigint NOT NULL,`TIMES_TRIGGERED` bigint NOT NULL,PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_simple_triggers
-- ------------------------------ ----------------------------
-- Table structure for qrtz_simprop_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
CREATE TABLE `qrtz_simprop_triggers` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`STR_PROP_1` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`STR_PROP_2` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`STR_PROP_3` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`INT_PROP_1` int NULL DEFAULT NULL,`INT_PROP_2` int NULL DEFAULT NULL,`LONG_PROP_1` bigint NULL DEFAULT NULL,`LONG_PROP_2` bigint NULL DEFAULT NULL,`DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,`DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,`BOOL_PROP_1` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`BOOL_PROP_2` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_simprop_triggers
-- ------------------------------ ----------------------------
-- Table structure for qrtz_task_history
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_task_history`;
CREATE TABLE `qrtz_task_history` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`INSTANCE_ID` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`FIRE_ID` varchar(95) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TASK_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`TASK_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`FIRED_TIME` bigint NULL DEFAULT NULL,`FIRED_WAY` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`COMPLETE_TIME` bigint NULL DEFAULT NULL,`EXPEND_TIME` bigint NULL DEFAULT NULL,`REFIRED` int NULL DEFAULT NULL,`EXEC_STATE` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`LOG` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,PRIMARY KEY (`FIRE_ID`) USING BTREE,INDEX `IDX_QRTZ_TK_S`(`SCHED_NAME`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_task_history
-- ------------------------------ ----------------------------
-- Table structure for qrtz_triggers
-- ----------------------------
DROP TABLE IF EXISTS `qrtz_triggers`;
CREATE TABLE `qrtz_triggers` (`SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`JOB_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`JOB_GROUP` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`DESCRIPTION` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`NEXT_FIRE_TIME` bigint NULL DEFAULT NULL,`PREV_FIRE_TIME` bigint NULL DEFAULT NULL,`PRIORITY` int NULL DEFAULT NULL,`TRIGGER_STATE` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`TRIGGER_TYPE` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,`START_TIME` bigint NOT NULL,`END_TIME` bigint NULL DEFAULT NULL,`CALENDAR_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`MISFIRE_INSTR` smallint NULL DEFAULT NULL,`JOB_DATA` blob NULL,PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of qrtz_triggers
-- ----------------------------
INSERT INTO `qrtz_triggers` VALUES ('quartzScheduler', 'SPIDER_TASK_f0a67f17ee1a498a9b2f4ca30556f3c3', 'DEFAULT', 'SPIDER_TASK_f0a67f17ee1a498a9b2f4ca30556f3c3', 'DEFAULT', NULL, 1680772920000, 1680772800000, 5, 'WAITING', 'CRON', 1680772783000, 0, NULL, 2, '');SET FOREIGN_KEY_CHECKS = 1;