feat(AI): 新增 AI执行器和任务处理器

- 新增 AI 执行器示例,内置多个 Bean 模式 AI任务处理器
- 与 spring-ai、ollama、dify等集成打通,支持快速开发 AI 类任务
- 新增OllamaChat 和 DifyWorkflow任务处理器
- 修复任务操作逻辑、Cron 组件、固定速度调度模式等问题
- 优化 Glue IDE 和 RollingLog 功能
- 升级多个项目依赖至较新稳定版本
3.1.0-release
xuxueli 1 year ago
parent ceafab3b8a
commit 36332fd374

@ -1191,7 +1191,7 @@ public void demoJobHandler() throws Exception {
- d、commandJobHandler:通用命令行任务Handler;业务方只需要提供命令行即可,命令及参数之间通过空格隔开;如任务参数 "ls la" 或 "pwd" 将会执行命令并输出数据;
#### 原生内置Bean模式任务(AI执行器)
为方便用户参考与快速使用,提供 “AI执行器” 并内置多个Bean模式任务Handler,与spring-ai集成打通,支持快速开发AI类任务,如下:
为方便用户参考与快速使用,提供 “AI执行器” 并内置多个Bean模式 AI任务Handler,与spring-ai、ollama、dify等集成打通,支持快速开发AI类任务,如下:
**AI执行器说明:**
- AppName:xxl-job-executor-sample-ai
@ -2507,32 +2507,36 @@ public void execute() {
- a、本次升级数据模型及通讯协议向前兼容,v2.4.*及后续版本可无缝升级;
- b、版本3.x开始要求Jdk17;版本2.x及以下支持Jdk1.8。如对Jdk版本有诉求,可选择接入不同版本;
### 7.38 版本 v3.0.1 Release Notes[规划中]
- 1、【新增】新增“AI执行器”示例,并与spring-ai、Ollama、Dify等集成打通;内置一系列AIXxlJob,支持快速开发AI类任务(xxl-job-executor-sample-springboot-ai)。
```
// 说明:ollamaJobHandler 内置在“AI执行器(AppName = xxl-job-executor-sample-ai)”中,需要先新建执行器;可参考如下SQL或自行创建:
INSERT INTO `xxl_job_group`(`app_name`, `title`, `address_type`, `address_list`, `update_time`)
VALUES ('xxl-job-executor-sample-ai', 'AI执行器Sample', 0, NULL, now());
```
- 2、【新增】新增通用 OllamaChat 任务(ollamaJobHandler),支持自定义prompt、input等输入信息,示例参数如下;
```
{
"input": "{输入信息,必填信息}",
"prompt": "{模型prompt,可选信息}"
}
```
- 3、【新增】新增通用 DifyWorkflow 任务(difyWorkflowJobHandler),支持自定义inputs、user等输入信息,示例参数如下;
```
{
"inputs":{ // inputs 为dify工作流任务参数;参数不固定,结合各自 workflow 自行定义。
"input":"{用户输入信息}" // 该参数为示例变量,需要 workflow 的“开始”节点 自定义参数 “input”,可自行调整或删除。
},
"user": "{用户标识,选填}"
}
```
- 4、【修复】任务操作逻辑优化,修复边界情况下逻辑中断问题(ISSUE-2081)。
- 5、【修复】调度中心Cron前端组件优化,解决week配置与后端兼容性问题(ISSUE-2220)。
- 6、【修复】合并PR-3708、PR-3704:修复固定速度模式计算,下次执行时间计算不准问题(间隔秒数超过Int时触发)。
### 7.38 版本 v3.1.0 Release Notes[规划中]
- 1、【新增】新增提供 “AI执行器” 并内置多个Bean模式 AI任务Handler,与spring-ai、ollama、dify等集成打通,支持快速开发AI类任务。
- AppName:xxl-job-executor-sample-ai
- 执行器代码:xxl-job-executor-sample-springboot-ai
```
// 备注:ollamaJobHandler 内置在“AI执行器(AppName = xxl-job-executor-sample-ai)”中,需要先新建执行器;可参考如下SQL或自行创建:
INSERT INTO `xxl_job_group`(`app_name`, `title`, `address_type`, `address_list`, `update_time`)
VALUES ('xxl-job-executor-sample-ai', 'AI执行器Sample', 0, NULL, now());
```
- 2、【新增】新增多个 Bean模式 AI任务Handler,如 ollamaJobHandler、difyWorkflowJobHandler 等,支持快速集成开发AI任务。
- a、ollamaJobHandler: OllamaChat任务,支持自定义prompt、input等输入信息。示例任务入参如下:
```
{
"input": "{输入信息,必填信息}",
"prompt": "{模型prompt,可选信息}"
}
```
- b、difyWorkflowJobHandler:DifyWorkflow 任务,支持自定义inputs、user等输入信息,示例参数如下;
```
{
"inputs":{ // inputs 为dify工作流任务参数;参数不固定,结合各自 workflow 自行定义。
"input":"{用户输入信息}" // 该参数为示例变量,需要 workflow 的“开始”节点 自定义参数 “input”,可自行调整或删除。
},
"user": "{用户标识,选填}"
}
```
- 3、【修复】合并PR-3708、PR-3704,解决固定速度调度模式下,下次计算执行时间小概率(间隔超长时)不准问题。
- 4、【修复】任务操作逻辑优化,修复边界情况下逻辑中断问题 (ISSUE-2081)。
- 5、【修复】调度中心Cron前端组件优化,解决week配置与后端兼容性问题 (ISSUE-2220)。
- 6、【修复】任务RollingLog权限逻辑调整:修复非管理员账号越权访问问题 (ISSUE-3705)。
- 7、【优化】Glue IDE调整,版本回溯支持查看修改时间;
- 8、【优化】任务RollingLog调整,XSS过滤支持白名单排出,提升日志易读性;
- 9、【升级】多个项目依赖升级至较新稳定版本,涉及 gson、groovy、spring/springboot、mysql 等;

@ -124,15 +124,18 @@ public class JobLogController {
}
@RequestMapping("/logDetailPage")
public String logDetailPage(@RequestParam("id") int id, Model model){
public String logDetailPage(HttpServletRequest request, @RequestParam("id") int id, Model model){
// base check
//ReturnT<String> logStatue = ReturnT.SUCCESS;
XxlJobLog jobLog = xxlJobLogDao.load(id);
if (jobLog == null) {
throw new RuntimeException(I18nUtil.getString("joblog_logid_unvalid"));
}
// valid permission
PermissionInterceptor.validJobGroupPermission(request, jobLog.getJobGroup());
// data
model.addAttribute("triggerCode", jobLog.getTriggerCode());
model.addAttribute("handleCode", jobLog.getHandleCode());
model.addAttribute("logId", jobLog.getId());

@ -29,7 +29,7 @@ public class NetUtil {
portTmp++;
}
}
portTmp = defaultPort--;
portTmp = defaultPort - 1;
while (portTmp > 0) {
if (!isPortUsed(portTmp)) {
return portTmp;

Loading…
Cancel
Save