From 8eff07d7abc777821d79fae6a36d57f12a1c844f Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sat, 23 Aug 2025 22:51:07 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91GLUE?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F(Python)=20=E6=89=A9=E5=B1=95=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E9=80=89=20"GLUE(Python3)"=20=E6=88=96=20"GLUE(Python?= =?UTF-8?q?2)"=20=E4=B8=A4=E7=A7=8D=E6=A8=A1=E5=BC=8F=EF=BC=8C=E5=88=86?= =?UTF-8?q?=E5=88=AB=E6=94=AF=E6=8C=81=20python3/2=20=E5=A4=9A=E7=89=88?= =?UTF-8?q?=E6=9C=AC=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 1 + .../main/resources/static/js/jobinfo.index.1.js | 2 ++ .../templates/jobcode/jobcode.index.ftl | 3 +++ .../templates/jobinfo/jobinfo.index.ftl | 17 ++++++++++++++++- .../com/xxl/job/core/glue/GlueTypeEnum.java | 7 ++++--- .../src/main/resources/logback.xml | 12 +++++------- .../src/main/resources/logback.xml | 12 +++++------- 7 files changed, 36 insertions(+), 18 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 179ea6e5..bec16280 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2554,6 +2554,7 @@ public void execute() { - 8、【修复】合并PR-3506,修复小概率情况下任务重复调度问题; - 9、【修复】合并PR-3747,修复异常情况下资源泄漏风险; - 10、【优化】调度中心系统日志调整,支持启动时指定 -DLOG_HOME 参数自定义日志位置;同时优化日志格式提升易读性; +- 11、【新增】GLUE模式(Python) 扩展,可选 "GLUE(Python3)" 或 "GLUE(Python2)" 两种模式,分别支持 python3/2 多版本; - 3、【规划中】登录安全升级,密码加密处理算法从Md5改为Sha256; ``` diff --git a/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js b/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js index b479e972..4683cb42 100644 --- a/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js +++ b/xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js @@ -519,6 +519,8 @@ $(function() { $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_shell").val() ); } else if ('GLUE_PYTHON'==glueType){ $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_python").val() ); + } else if ('GLUE_PYTHON2'==glueType){ + $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_python2").val() ); } else if ('GLUE_PHP'==glueType){ $("#addModal .form textarea[name='glueSource']").val( $("#addModal .form .glueSource_php").val() ); } else if ('GLUE_NODEJS'==glueType){ diff --git a/xxl-job-admin/src/main/resources/templates/jobcode/jobcode.index.ftl b/xxl-job-admin/src/main/resources/templates/jobcode/jobcode.index.ftl index c6d7c136..efd4f90b 100644 --- a/xxl-job-admin/src/main/resources/templates/jobcode/jobcode.index.ftl +++ b/xxl-job-admin/src/main/resources/templates/jobcode/jobcode.index.ftl @@ -133,6 +133,9 @@ <#elseif jobInfo.glueType == "GLUE_PYTHON" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/python/python.js" /> <#assign glueTypeIdeMode = "text/x-python" /> + <#elseif jobInfo.glueType == "GLUE_PYTHON2" > + <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/python/python.js" /> + <#assign glueTypeIdeMode = "text/x-python" /> <#elseif jobInfo.glueType == "GLUE_PHP" > <#assign glueTypeModeSrc = "${request.contextPath}/static/plugins/codemirror/mode/php/php.js" /> <#assign glueTypeIdeMode = "text/x-php" /> diff --git a/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl b/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl index 3a5d7d8a..340d5d7d 100644 --- a/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl +++ b/xxl-job-admin/src/main/resources/templates/jobinfo/jobinfo.index.ftl @@ -281,6 +281,22 @@ exit 0 import time import sys +print("xxl-job: hello python") + +print("${I18n.jobinfo_script_location}:", sys.argv[0]) +print("${I18n.jobinfo_field_executorparam}:", sys.argv[1]) +print("${I18n.jobinfo_shard_index}:", sys.argv[2]) +print("${I18n.jobinfo_shard_total}:", sys.argv[3]) + +print("Good bye!") +exit(0) + + -<#--这里有问题,新建一个运行模式为 php 的任务后,GLUE 中没有下边的 php 代码-->