xuxueli
|
f7966b9bad
|
底层RPC序列化协议调整为hessian2;
|
6 years ago |
xuxueli
|
7d9f677948
|
GLUE脚本文件自动清理功能,及时清理过期脚本文件;
|
6 years ago |
xuxueli
|
b30db36033
|
新增任务运行模式 "GLUE模式(PowerShell) ",支持PowerShell脚本任务;
|
6 years ago |
xuxueli
|
e56731d78b
|
执行器通讯线程优化,corePoolSize从256降低至32
|
6 years ago |
xuxueli
|
c1ca3fbe53
|
底层日志组件SimpleDateFormat线程安全问题修复;
|
6 years ago |
xuxueli
|
50b1c67943
|
RM
|
6 years ago |
xuxueli
|
c2d6b3ac14
|
任务失败重试优化:收敛并废弃现有失败重试策略,新增任务属性 "失败重试次数",支持自定义失败重试次数,任务失败时将会根据该值进行失败重试;
|
6 years ago |
xuxueli
|
881d65642b
|
执行器手动设置IP时取消绑定Host的操作,该IP仅供执行器注册使用;修复指定外网IP时无法绑定执行器Host的问题
|
6 years ago |
xuxueli
|
3957ef2ff7
|
更新RM
|
6 years ago |
许雪里
|
15af500d40
|
Merge pull request #403 from jackyRao2/master
修正xxl-job.xml端口自动获取的描述和执行器在指定ip自动获取端口时的错误
|
6 years ago |
xuxueli
|
cafd8768de
|
新增任务运行模式 "GLUE模式(PHP) ",支持php脚本任务;
|
6 years ago |
clipperl
|
4f75bf336e
|
新增任务-运行模式中,新增 GLUE模式(php)
|
6 years ago |
xuxueli
|
ff4378e1ce
|
核心依赖Core内部国际化处理;
|
6 years ago |
xuxueli
|
d9355f421f
|
更新RM
|
7 years ago |
xuxueli
|
7dc7c1f2d0
|
执行器任务结果持久化:执行器回调失败时将任务结果写磁盘,待重启或网络恢复时重试回调任务结果,防止任务执行结果丢失;
|
7 years ago |
xuxueli
|
caf3888118
|
告警邮件中展示失败告警信息;
|
7 years ago |
xuxueli
|
239d3e684c
|
Log组件参数处理fix
|
7 years ago |
xuxueli
|
7687f3fc23
|
任务超时控制:支持设置任务超时时间,任务运行超时的情况下,将会主动中断任务;
|
7 years ago |
许雪里
|
c3c7ded5e0
|
Merge branch 'master' into feature/timeout
|
7 years ago |
xuxueli
|
3c21542269
|
自研Log组件参数占位符改为"{}",并修复打印有参日志时参数不匹配导致报错的问题;
|
7 years ago |
xuxueli
|
1aac34165c
|
修复打印有参日志时报错的问题
|
7 years ago |
raoq@vip.qq.com
|
76b629ac5f
|
修正xxl-job.xml端口自动获取的描述和执行器在指定ip自动获取端口时的错误
1.修正xml配置文件描述信息 int类型不允许xml为空的配置会报NPE
2.修复指定执行器ip时自动获取端口号的问题,指定ip与InetAddress.anyLocalAddress()结果不一致会导致验证端口是否使用错误。
|
7 years ago |
xuxueli
|
f246cf2fa3
|
任务线程移除Jetty依赖,为后续RPC模块拆分做准备;
|
7 years ago |
xuxueli
|
df613f163c
|
更新RM
|
7 years ago |
xuxueli
|
e3cce6341b
|
脚本任务Log文件流关闭优化
|
7 years ago |
xuxueli
|
7bd120d191
|
任务线程停止变量修饰符优化
|
7 years ago |
xuxueli
|
22da65c215
|
任务回调结果优化,支持展示在Rolling log中,方便问题排查
|
7 years ago |
xuxueli
|
5c24778f3d
|
脚本任务异常Log输出优化
|
7 years ago |
xuxueli
|
c48cb6eb25
|
Glue(Shell) 等脚本任务支持失败重试;
|
7 years ago |
xuxueli
|
ea5b3541e4
|
Glue(Shell) 等脚本任务支持失败重试;
|
7 years ago |
xuxueli
|
38f8e6c794
|
Window机器下File.separator不兼容问题修复;
|
7 years ago |
大水牛
|
34533c16b9
|
修改http请求工具类入参拼写错误
|
7 years ago |
xuxueli
|
295fb256c7
|
文案优化
|
7 years ago |
xuxueli
|
1aeaded9a2
|
任务属性枚举 "任务模式、阻塞策略" 国际化优化
|
7 years ago |
xuxueli
|
db703eb9d7
|
更新RM
|
7 years ago |
chuan
|
86acbcd777
|
添加任务超时属性,超时后失败
|
7 years ago |
xuxueli
|
0312ecc72f
|
升级开发分支:v1.9.2
|
7 years ago |
xuxueli
|
e246de73d7
|
版本Release:v1.9.1
|
7 years ago |
Yi
|
c3ef6e0d3a
|
Close log file after script executed
|
7 years ago |
xuxueli
|
1a724dc215
|
升级开发分支:v1.9.1
|
7 years ago |
xuxueli
|
7b15aa393e
|
升级至正式版本:v1.9.0
|
7 years ago |
xuxueli
|
5e0ac51a89
|
更新RM
|
7 years ago |
xuxueli
|
dd94810416
|
执行器新增配置项("xxl.job.executor.logretentiondays"):日志保存天数,执行器自动删除过期日志文件。限制配置最少保存3天,否则功能无效。
|
7 years ago |
xuxueli
|
f54b7f3484
|
更新RM
|
7 years ago |
xuxueli
|
14d9d6a785
|
任务参数“IJobHandler.execute”入参改为“String params”,增强入参通用性。
脚本任务Shell、Python和Nodejs等支持获取分片参数;
|
7 years ago |
xuxueli
|
6042011dc7
|
项目依赖升级,如spring、jackson等;
|
7 years ago |
xuxueli
|
9325afea08
|
修复Log路径生成异常问题;
新增JobKey处理工具;
|
7 years ago |
xuxueli
|
5a0acb5945
|
更新RM
|
7 years ago |
xuxueli
|
2a94a142e3
|
JobHandler提供init/destroy方法,支持在JobHandler初始化和销毁时进行附加操作;
|
7 years ago |
xuxueli
|
2d55c381c6
|
JobHandler提供init/destroy方法,支持在JobHandler初始化和销毁时进行附加操作;
|
7 years ago |
xuxueli
|
bf86698416
|
文件操作优化
|
7 years ago |
xuxueli
|
3c95ba5ae4
|
Log地址格式兼容,支持非"/"结尾路径配置;
|
7 years ago |
xuxueli
|
f587f10e32
|
失败重试完整支持:任务流程分为调度和执行,之前仅支持调度失败的重试;目前支持执行失败的重试,通过任务返回值判断。
|
7 years ago |
xuxueli
|
451eb2b7b3
|
Log组件支持输出异常栈信息,底层实现优化
|
7 years ago |
xuxueli
|
5e39a95478
|
Log组件支持输出异常栈信息
|
7 years ago |
xuxueli
|
30b7b1a3e2
|
Log等级调整
|
7 years ago |
xuxueli
|
41328f4795
|
执行器端口支持随机生成(小于等于0时),避免端口定义冲突
|
7 years ago |
xuxueli
|
664f07eaac
|
任务注解调整为 “@JobHandler”,与任务注解统一;
|
7 years ago |
xuxueli
|
a612b467e1
|
更新RM
|
7 years ago |
xuxueli
|
449691d322
|
任务线程Error异常逻辑逻辑优化
|
7 years ago |
anthow
|
abb4474fbb
|
修改JobThread捕获Error错误不更新JobLog
|
7 years ago |
xuxueli
|
45bac140b7
|
底层系统日志级别调整,高频非核心日志调整为debug级别
|
7 years ago |
xuxueli
|
87442a5c59
|
执行器动态代理对象,拦截非业务方法的执行
|
7 years ago |
许雪里
|
145a900683
|
Merge pull request #157 from icyblazek/master
新特性,添加GLUE_NODEJS支持。
|
7 years ago |
xuxueli
|
88d78091e6
|
更新RM
|
7 years ago |
xuxueli
|
6f524c1145
|
升级快照版本:1.9.0-SNAPSHOT
|
7 years ago |
xuxueli
|
029433c351
|
更新RM
|
7 years ago |
xuxueli
|
a3f1672ab3
|
升级正式版本:1.8.2
|
7 years ago |
Kevin
|
f5ebe8f704
|
1.添加GLUE_NODEJS支持
|
7 years ago |
xuxueli
|
03979398f1
|
Clean Code
|
7 years ago |
xuxueli
|
1970f7f3b8
|
Clean Code
|
7 years ago |
xuxueli
|
edcea479bc
|
调度中心任务监控线程销毁时,批量对失败任务告警,防止告警信息丢失;
|
7 years ago |
xuxueli
|
667d486899
|
httpclient防止重复提交
|
7 years ago |
xuxueli
|
837ab404b1
|
执行器注册线程优化,线程销毁时主动摘除注册机器;
|
7 years ago |
xuxueli
|
7bc11fcbc4
|
执行器注册线程优化,线程销毁时主动摘除注册机器;
|
7 years ago |
xuxueli
|
0b4849bb61
|
执行器手动设置IP时将会绑定Host;
执行器回调线程优化,线程销毁前批量回调队列中所有数据;
|
7 years ago |
xuxueli
|
85179937cc
|
规范项目目录,方便扩展多执行器;
|
7 years ago |
xuxueli
|
822a01401a
|
解决执行器回调URL不支持配置HTTPS时问题。
|
7 years ago |
xuxueli
|
2516e115e9
|
升级版本:1.8.2(快照版本)
|
7 years ago |
xuxueli
|
27446880df
|
升级正式版本:1.8.1
|
7 years ago |
xuxueli
|
636da6153a
|
maven依赖版本号统一规范;
|
7 years ago |
xuxueli
|
468fecb929
|
springboot版本执行器,升级至1.5.6.RELEASE版本;
|
7 years ago |
xuxueli
|
0ddef14076
|
调度中心参数配置逻辑重构
|
7 years ago |
xuxueli
|
4e0d1be677
|
心跳注册和结果回调,重试逻辑优化
|
7 years ago |
xuxueli
|
09d8952448
|
执行器参数配置逻辑重构
|
7 years ago |
xuxueli
|
1bc5cc76be
|
访问令牌(accessToken):为提升系统安全性,调度中心和执行器进行安全性校验,双方AccessToken匹配才允许通讯;
|
7 years ago |
xuxueli
|
02818b4d6b
|
心跳注册和结果回调,重试逻辑优化
|
7 years ago |
xuxueli
|
f83346de2d
|
调度中心API服务,Client端调用逻辑优化
|
7 years ago |
xuxueli
|
8e07d501e2
|
心跳注册和结果回调,重试逻辑优化
|
7 years ago |
xuxueli
|
ff8e43af54
|
调度中心API服务改为自研RPC形式,统一底层通讯模型;
|
7 years ago |
xuxueli
|
ee07e0b794
|
调度中心API服务改为自研RPC形式,统一底层通讯模型;
|
7 years ago |
xuxueli
|
1651c63d80
|
更新RM
|
7 years ago |
xuxueli
|
0c03f6348c
|
广播分片任务
|
7 years ago |
xuxueli
|
4527df06d2
|
升级快照版本:1.8.1-SNAPSHOT
|
7 years ago |
xuxueli
|
1617b9e020
|
升级正式版本:1.8.0
|
7 years ago |
xuxueli
|
5c0b206f33
|
回调Http状态码异常时,记录响应消息;
|
7 years ago |
xuxueli
|
d1d8d61c49
|
降低回调频率提升执行器性能
|
8 years ago |
xuxueli
|
bc92b4f2ae
|
任务线程轮空30次后自动销毁,降低低频任务的无效线程消耗。
|
8 years ago |
xuxueli
|
3138d48afa
|
任务线程轮空30次后自动销毁,降低低频任务的无效线程消耗。
|
8 years ago |
xuxueli
|
7e35088764
|
路由策略新增 "忙碌转移" 模式:按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定为目标执行器并发起调度;
|
8 years ago |
xuxueli
|
1ad6950ed7
|
XxlJobLogger的日志多参数支持;
|
8 years ago |
xuxueli
|
fbe2c67fb4
|
优化:API回调服务失败状态码优化,方便问题排查;
|
8 years ago |
xueli.xue
|
e21d6311bd
|
机器时间戳差异超限时,系统文案调整
|
8 years ago |
xueli.xue
|
1649c7b52d
|
更新RM
|
8 years ago |
xueli.xue
|
419e1aee89
|
文案调整
|
8 years ago |
xueli.xue
|
ab62bbb18b
|
pom配置优化
|
8 years ago |
xueli.xue
|
d9b550e72e
|
升级快照版本:1.8.0-SNAPSHOT
|
8 years ago |
xueli.xue
|
bc279ec2eb
|
升级正式版本:1.7.2
|
8 years ago |
xueli.xue
|
17e7dd5a28
|
底层优化
|
8 years ago |
xueli.xue
|
650682d2fe
|
底层优化
|
8 years ago |
xueli.xue
|
9ab7d4690f
|
入参打印优化
|
8 years ago |
xueli.xue
|
7b3d53fa1c
|
底层优化
|
8 years ago |
xueli.xue
|
8a6d462d3b
|
执行器与数据库彻底解耦,但是执行器需要配置调度中心集群地址。调度中心提供API供执行器回调和心跳注册服务,取消调度中心内部jetty,心跳周期调整为30s,心跳失效为三倍心跳;
|
8 years ago |
xueli.xue
|
abb7cbeb46
|
通讯时间戳超时时间调整为180s;
|
8 years ago |
xueli.xue
|
744c00494b
|
阻塞处理策略
|
8 years ago |
xueli.xue
|
0888b2d5a4
|
阻塞处理策略
|
8 years ago |
xueli.xue
|
370c816355
|
- 1、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
- 2、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
|
8 years ago |
xueli.xue
|
7b8b24aacd
|
升级快照版本:v1.7.2
|
8 years ago |
xueli.xue
|
09430dd34d
|
升级正式版本:1.7.1
|
8 years ago |
xueli.xue
|
882d7a43e9
|
执行器,server启动、销毁和注册逻辑调整;
|
8 years ago |
xueli.xue
|
14767e30e6
|
JobHandler中开启子线程时,支持子线程输出执行日志并通过Rolling查看。(From:kangxinghua@github)
|
8 years ago |
xueli.xue
|
7b59be46c5
|
JobHandler中开启子线程时,支持子线程输出执行日志并通过Rolling查看。
|
8 years ago |
xueli.xue
|
f0b46e12d1
|
JettyServer关闭逻辑优化,修复执行器无法通过脚本正常关闭的问题
|
8 years ago |
xueli.xue
|
efba14745a
|
调用超时时间设置10s
|
8 years ago |
xueli.xue
|
09aad11fd1
|
调用超时时间设置10s
|
8 years ago |
xueli.xue
|
fc5b6fa6d3
|
文案fix
|
8 years ago |
xueli.xue
|
7765ef51dd
|
运行日志加载编码统一,解决windows环境下日志乱码问题;
|
8 years ago |
xueli.xue
|
dccb0eca2f
|
升级快照版本:1.7.1-SNAPSHOT
|
8 years ago |
xueli.xue
|
475655ccdb
|
升级正式版本:v1.7.0
|
8 years ago |
xueli.xue
|
beb71a4939
|
执行日志逻辑调整
|
8 years ago |
xueli.xue
|
466b4e868a
|
任务日志取出slf4j依赖
|
8 years ago |
xueli.xue
|
7102a9f86d
|
任务日志取出slf4j依赖
|
8 years ago |
xueli.xue
|
b4fd8bf93e
|
slf4j版本升级
|
8 years ago |
xueli.xue
|
a83c21a43a
|
1、新增spring-boot类型执行器example项目;
2、升级jetty版本至9.2;
|
8 years ago |
xueli.xue
|
b7935a9323
|
shell脚本"\r"问题fix
|
8 years ago |
xueli.xue
|
b30fceb46d
|
脚本,输入输出
|
8 years ago |
xueli.xue
|
935cc1276f
|
脚本任务实现:Shell和Python
|
8 years ago |
xueli.xue
|
d2eafe20cd
|
Coding
|
8 years ago |
xueli.xue
|
1b3ad6fbbe
|
执行器移除GlueLoader依赖,GLUE源码改为推送方式;
|
8 years ago |
xueli.xue
|
7a781ad371
|
1、GLUE版本逻辑调整;
|
8 years ago |
xueli.xue
|
548426e9a7
|
1、底层表结构调整,为脚本任务做准备;
2、交互调整;
|
8 years ago |
xueli.xue
|
75c2c1f2ef
|
升级快照版:1.7.0,开起新迭代
|
8 years ago |
xueli.xue
|
463d8fe5a4
|
升级正式版本:1.6.2
|
8 years ago |
xueli.xue
|
66e6dd9352
|
调度报表
|
8 years ago |
xueli.xue
|
b7b411ce2a
|
JobHandler支持自定义回调结果;
|
8 years ago |
xueli.xue
|
dcf3bcc3f8
|
版本1.6.2-SNAPSHOT进去开发阶段
|
8 years ago |
xueli.xue
|
7679403170
|
更新RM
|
8 years ago |
xueli.xue
|
dc93d25d88
|
Realease版本1.6.1
|
8 years ago |
xueli.xue
|
d917c9443b
|
rolling日志
|
8 years ago |
xueli.xue
|
ae26cb0c5d
|
日志rollback展示
|
8 years ago |
xueli.xue
|
e7d1354098
|
通讯协议二进制据增强校验,处理非正常请求;
|
8 years ago |
xueli.xue
|
a11d130cf1
|
版本升级:1.6.1-SNAPSHOT
|
8 years ago |
xueli.xue
|
7e38890973
|
泛型处理
|
8 years ago |
xueli.xue
|
75f3f584f1
|
升级版本
|
8 years ago |
xueli.xue
|
3ccf3ad5ab
|
GLUE模式任务实例更新逻辑优化,原根据超时时间更新改为根据版本号更新,源码变动版本号加一;
|
8 years ago |
xueli.xue
|
177ab8d21e
|
执行器策略推送
|
8 years ago |
xueli.xue
|
d66bdc8811
|
底层关键数据调整:JobKey的group和name属性,改为采用执行器主键ID和任务主键ID
|
8 years ago |
xueli.xue
|
338d3b62a5
|
执行器新增"注册方式"和"机器地址"属性,支持手动录入机器地址;
|
8 years ago |
xueli.xue
|
79f9317ffe
|
底层线程模型统一;destory逻辑优化;
|
8 years ago |
xueli.xue
|
b8e196606d
|
Coding
|
8 years ago |
xueli.xue
|
b590a65c4a
|
Coding
|
8 years ago |
xueli.xue
|
86dea7ff7c
|
重要重构:底层通讯模块升级优化;
|
8 years ago |
xueli.xue
|
484b80dc97
|
升级大版本1.6.0,规划版本TODO LIST
|
8 years ago |
xueli.xue
|
4cf65ebdb2
|
GLUE依赖注入逻辑优化,支持别名注入;from:shirokumacafe@github
|
8 years ago |
xueli.xue
|
5ea7b58134
|
更新RM
|
8 years ago |
xueli.xue
|
06c909c475
|
更新RM
|
8 years ago |
xueli.xue
|
ce270b794c
|
升级正式版本1.5.2
|
8 years ago |
xueli.xue
|
211a092350
|
注册逻辑梳理
|
8 years ago |
xueli.xue
|
859207d05e
|
底层日志底层日志调整,非敏感日志level调整为debug;
|
8 years ago |
xueli.xue
|
6b91f40889
|
新特性:
- 1、IP工具类获取IP逻辑优化,IP静态缓存;
- 2、执行器、调度中心,均支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况;
- 3、任务跨天执行时生成多份日志文件的问题修复;
|
8 years ago |
xueli.xue
|
65cfe57b6b
|
执行器、调度中心,支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况;
|
8 years ago |
xueli.xue
|
c86d7d1c8e
|
IP工具类优化,本地IP地址静态缓存;
|
8 years ago |
xueli.xue
|
a1af21125b
|
升级snapshot版本V1.5.2
|
8 years ago |
xueli.xue
|
a08b6800c3
|
升级正式版本V1.5.1
|
8 years ago |
xueli.xue
|
aa812e1531
|
1、Servlet/JSP Spec:3.0/2.2;
2、Jetty升级版本至8.2.0.v20160908;;
|
8 years ago |
xueli.xue
|
a5938fb23e
|
1、升级版本1.5.1-SNAPSHOT版本;
2、代码优化,POM清理;
3、Spring升级至3.2.17.RELEASE版本;
|
8 years ago |
xueli.xue
|
afd5acedee
|
Realease版本1.5.0
|
8 years ago |
xueli.xue
|
caf817124e
|
调度中心注册:
1、调度中心自动注册;
2、调度时,加载在线的所有调度中心地址,push给执行器,执行器获取多个执行器地址,failover方式进行回调;
|
8 years ago |
xueli.xue
|
295200dbfc
|
执行器自动注册逻辑更新
|
8 years ago |
xueli.xue
|
e5c87fc15e
|
1.5.0修改为1.5.0-SNAPSHOT (BETA版本功能在陆续增加)
|
8 years ago |
xueli.xue
|
1fd922f95b
|
任务注册功能:
1、设计注册表结构;
2、执行器,开发注册线程,15s注册一次,以 "执行器 + 地址" 为粒度进行注册刷新";
|
8 years ago |
xueli.xue
|
1fd34a2091
|
重要重构:
1、调度中心回调逻辑优化, 过滤非法请求;
2、公共依赖中新增DBGlueLoader,基于原生jdbc实现GLUE源码的加载器,减少第三方依赖(mybatis,spring-orm等);
3、精简和优化执行器测配置(针对GLUE任务),降低上手难度
|
8 years ago |
xueli.xue
|
552949167e
|
GLUE任务调度时,执行器校验是否支持GLUE模式任务,校验GlueFactory的glueloader是否存在;
|
8 years ago |
xueli.xue
|
2acaf0c284
|
升级大版本: v1.5.0 , 为Beta版本, 为任务注册做准备
|
8 years ago |
xueli.xue
|
960f830826
|
升级正式版本: 1.4.2
|
8 years ago |
xueli.xue
|
6358ba92e9
|
文案fix
|
8 years ago |
xueli.xue
|
8fde5bed3d
|
调度超时和Handler匹配不到时,调度状态优化
|
8 years ago |
xueli.xue
|
d2deb5ba59
|
升级小版本V1.4.2-SNAPSHOT
|
8 years ago |
xueli.xue
|
4a9f347ed1
|
pom更新
|
8 years ago |
xueli.xue
|
ae758eb8a9
|
doc 更新
|
8 years ago |
xueli.xue
|
148b7ca5e3
|
IJobHandler取消任务返回值,原通过返回值判断执行状态,逻辑改为:默认任务执行成功,仅在捕获异常时认定任务执行失败。
|
8 years ago |
xueli.xue
|
6b0d17a4c6
|
Java Doc更新
|
8 years ago |
xueli.xue
|
845e7e1b30
|
升级小版本: V1.4.1 新特性
- 1、groupId从com.xxl改为com.xuxueli,为推送maven中央仓库做前期准备;
- 2、系统版本不在维护在项目跟pom中,各个子模块单独配置版本配置,解决子模块无法单独编译的问题;
- 3、底层RPC通讯,传输数据的字节长度统计规则优化,可节省50%数据传输量;
- 4、系统公共弹框功能,插件化;
- 5、底层表结构,表明统一大写;
- 6、调度中心,异常处理器JSON响应的ContentType修改,修复浏览器不识别的问题;
|
8 years ago |
xueli.xue
|
c9f2b33e30
|
依赖更新
|
8 years ago |
xueli.xue
|
70a12160b2
|
POM依赖整理
|
8 years ago |
xueli.xue
|
cbeaf5a4f8
|
coding
|
8 years ago |
xueli.xue
|
57abd14b6d
|
重要更新: ByteWriteFactory内部Byte[]长度改为动态初始化; 一方面在小数据量下节省字节开销;另一方面在大数据量下可以保证数据存放没问题;
|
8 years ago |
xueli.xue
|
f48ac05cdd
|
coding
|
8 years ago |
xueli.xue
|
5e20e01acd
|
coding
|
8 years ago |
xueli.xue
|
0964a7c2f8
|
coding
|
8 years ago |