diff --git a/.gitignore b/.gitignore index 8697620..6117a16 100644 --- a/.gitignore +++ b/.gitignore @@ -93,4 +93,5 @@ target/ /logs/ -*/src/main/resources/application.yml \ No newline at end of file +*/src/main/resources/application.yml +*/src/main/resources/mail.properties \ No newline at end of file diff --git a/db/xxl-job-structure.sql b/db/xxl-job-structure.sql deleted file mode 100644 index ec7c32e..0000000 --- a/db/xxl-job-structure.sql +++ /dev/null @@ -1,121 +0,0 @@ -# -# XXL-JOB v2.3.0 -# Copyright (c) 2015-present, xuxueli. - -CREATE database if NOT EXISTS `gitlink_notification` default character set utf8mb4 collate utf8mb4_unicode_ci; -use `gitlink_notification`; - -SET NAMES utf8mb4; - -CREATE TABLE `xxl_job_info` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `job_group` int(11) NOT NULL COMMENT '执行器主键ID', - `job_desc` varchar(255) NOT NULL, - `add_time` datetime DEFAULT NULL, - `update_time` datetime DEFAULT NULL, - `author` varchar(64) DEFAULT NULL COMMENT '作者', - `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件', - `schedule_type` varchar(50) NOT NULL DEFAULT 'NONE' COMMENT '调度类型', - `schedule_conf` varchar(128) DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型', - `misfire_strategy` varchar(50) NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略', - `executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略', - `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', - `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', - `executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略', - `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', - `executor_fail_retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '失败重试次数', - `glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型', - `glue_source` mediumtext COMMENT 'GLUE源代码', - `glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注', - `glue_updatetime` datetime DEFAULT NULL COMMENT 'GLUE更新时间', - `child_jobid` varchar(255) DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', - `trigger_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '调度状态:0-停止,1-运行', - `trigger_last_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '上次调度时间', - `trigger_next_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '下次调度时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `job_group` int(11) NOT NULL COMMENT '执行器主键ID', - `job_id` int(11) NOT NULL COMMENT '任务,主键ID', - `executor_address` varchar(255) DEFAULT NULL COMMENT '执行器地址,本次执行的地址', - `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', - `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', - `executor_sharding_param` varchar(20) DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', - `executor_fail_retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '失败重试次数', - `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间', - `trigger_code` int(11) NOT NULL COMMENT '调度-结果', - `trigger_msg` text COMMENT '调度-日志', - `handle_time` datetime DEFAULT NULL COMMENT '执行-时间', - `handle_code` int(11) NOT NULL COMMENT '执行-状态', - `handle_msg` text COMMENT '执行-日志', - `alarm_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败', - PRIMARY KEY (`id`), - KEY `I_trigger_time` (`trigger_time`), - KEY `I_handle_code` (`handle_code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_log_report` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `trigger_day` datetime DEFAULT NULL COMMENT '调度-时间', - `running_count` int(11) NOT NULL DEFAULT '0' COMMENT '运行中-日志数量', - `suc_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', - `fail_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_logglue` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `job_id` int(11) NOT NULL COMMENT '任务,主键ID', - `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型', - `glue_source` mediumtext COMMENT 'GLUE源代码', - `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注', - `add_time` datetime DEFAULT NULL, - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_registry` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `registry_group` varchar(50) NOT NULL, - `registry_key` varchar(255) NOT NULL, - `registry_value` varchar(255) NOT NULL, - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_group` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `app_name` varchar(64) NOT NULL COMMENT '执行器AppName', - `title` varchar(12) NOT NULL COMMENT '执行器名称', - `address_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入', - `address_list` text COMMENT '执行器地址列表,多地址逗号分隔', - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_user` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(50) NOT NULL COMMENT '账号', - `password` varchar(50) NOT NULL COMMENT '密码', - `role` tinyint(4) NOT NULL COMMENT '角色:0-普通用户、1-管理员', - `permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', - PRIMARY KEY (`id`), - UNIQUE KEY `i_username` (`username`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE `xxl_job_lock` ( - `lock_name` varchar(50) NOT NULL COMMENT '锁名称', - PRIMARY KEY (`lock_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `address_type`, `address_list`, `update_time`) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2018-11-03 22:21:31' ); -INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `schedule_type`, `schedule_conf`, `misfire_strategy`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) VALUES (1, 1, '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', ''); -INSERT INTO `xxl_job_user`(`id`, `username`, `password`, `role`, `permission`) VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL); -INSERT INTO `xxl_job_lock` ( `lock_name`) VALUES ( 'schedule_lock'); - -commit; diff --git a/executor/src/main/resources/application.yml.example b/executor/src/main/resources/application.yml.example index 635550e..1c389ec 100644 --- a/executor/src/main/resources/application.yml.example +++ b/executor/src/main/resources/application.yml.example @@ -14,6 +14,7 @@ spring: replication_factor: 1 partitions: 3 topic_new_email_remind: topic-gitlink-new-email-remind + consumer: bootstrap_servers: kafka1:9092,kafka2:9092 client_id: gitlink_consumer @@ -26,12 +27,10 @@ spring: topic_email: topic-gitlink-email topic_new_email_remind: topic-gitlink-new-email-remind enable-auto-commit: true - #自动提交的时间间隔 auto-commit-interval: 1S + listener: - # 消费线程数 concurrency: 3 - # 提交模式 ack-mode: record redis: @@ -47,10 +46,8 @@ spring: timeout: 1000 datasource: - # 配置数据源类型 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://mysql:3306/gitlink_notification?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false username: gitlink password: giTlinK0^827 -#ip白名单列表,多个ip用逗号隔开,允许所有用*号 white-list: '*' \ No newline at end of file diff --git a/executor/src/main/resources/mail.properties b/executor/src/main/resources/mail.properties.example similarity index 100% rename from executor/src/main/resources/mail.properties rename to executor/src/main/resources/mail.properties.example diff --git a/middleware/services.yml b/middleware/services.yml index 700fa04..e7b81b8 100644 --- a/middleware/services.yml +++ b/middleware/services.yml @@ -13,7 +13,6 @@ services: - TZ=Asia/Shanghai volumes: - ${DOCKER_DATA_PATH}/mysql:/var/lib/mysql - - ${SQL_SCRIPT_PATH}/xxl-job-structure.sql:/docker-entrypoint-initdb.d/0000.sql - ${SQL_SCRIPT_PATH}/gns-notification.sql:/docker-entrypoint-initdb.d/0001.sql - ${SQL_SCRIPT_PATH}/hehui-gns-notification.sql:/docker-entrypoint-initdb.d/0002.sql - ${SQL_SCRIPT_PATH}/gns-email.sql:/docker-entrypoint-initdb.d/0003.sql @@ -30,6 +29,8 @@ services: volumes: - ${DOCKER_DATA_PATH}/redis/data:/data - ${DOCKER_DATA_PATH}/redis/logs:/logs + environment: + - TZ=Asia/Shanghai ports: - ${REDIS_LOCAL_PORT}:6379 networks: @@ -101,6 +102,8 @@ services: dockerfile: middleware/reader.Dockerfile networks: - gitlink_network + environment: + - TZ=Asia/Shanghai volumes: - ${DOCKER_DATA_PATH}/logs/:/data/logs/ depends_on: @@ -120,8 +123,11 @@ services: dockerfile: middleware/writer.Dockerfile networks: - gitlink_network + environment: + - TZ=Asia/Shanghai volumes: - ${DOCKER_DATA_PATH}/logs/:/data/logs/ + - TZ=Asia/Shanghai depends_on: - kafka1 - kafka2 @@ -141,6 +147,8 @@ services: - gitlink_network volumes: - ${DOCKER_DATA_PATH}/logs/:/data/logs/ + environment: + - TZ=Asia/Shanghai depends_on: - kafka1 - kafka2 diff --git a/reader/src/main/resources/application.yml.example b/reader/src/main/resources/application.yml.example index 16e91a0..e828e2e 100644 --- a/reader/src/main/resources/application.yml.example +++ b/reader/src/main/resources/application.yml.example @@ -7,24 +7,15 @@ logging: spring: redis: - # Redis数据库索引(默认为0) database: 0 - # Redis服务器地址 host: redis - # Redis服务器连接端口 port: 6379 - # Redis服务器连接密码(默认为空) password: pool: - # 连接池最大连接数(使用负值表示没有限制) max-active: 200 - # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1 - # 连接池中的最大空闲连接 max-idle: 10 - # 连接池中的最小空闲连接 min-idle: 0 - # 连接超时时间(毫秒) timeout: 1000 kafka: @@ -35,11 +26,9 @@ spring: batch_size: 16384 datasource: - # 配置数据源类型 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://mysql:3306/gitlink_notification?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false username: gitlink password: giTlinK0^827 -#ip白名单列表,多个ip用逗号隔开,允许所有用*号 white-list: '*' \ No newline at end of file diff --git a/reader/src/main/resources/mail.properties b/reader/src/main/resources/mail.properties.example similarity index 100% rename from reader/src/main/resources/mail.properties rename to reader/src/main/resources/mail.properties.example diff --git a/writer/src/main/resources/application.yml.example b/writer/src/main/resources/application.yml.example index d72ad0e..0d6bf72 100644 --- a/writer/src/main/resources/application.yml.example +++ b/writer/src/main/resources/application.yml.example @@ -30,10 +30,8 @@ spring: datasource: - # 配置数据源类型 driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://mysql:3306/gitlink_notification?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false username: gitlink password: giTlinK0^827 -#ip白名单列表,多个ip用逗号隔开,允许所有用*号 white-list: '*' \ No newline at end of file diff --git a/writer/src/main/resources/mail.properties b/writer/src/main/resources/mail.properties.example similarity index 100% rename from writer/src/main/resources/mail.properties rename to writer/src/main/resources/mail.properties.example