@XXjob使用
时间: 2025-07-22 20:09:26 浏览: 3
### XXL-JOB 的使用方法
XXL-JOB 是一个轻量级的分布式任务调度平台,支持多种任务执行方式,并提供可视化的管理界面。其核心功能包括任务调度、执行器管理、日志跟踪等。使用 XXL-JOB 时,首先需要初始化调度数据库,并部署调度中心和执行器服务。调度中心负责任务的管理与调度,而执行器则负责接收任务并执行具体的业务逻辑[^1]。
在任务创建方面,可以通过调度中心的 Web 界面配置任务参数,例如任务描述、执行时间、执行策略等。执行器项目需要引入 XXL-JOB 的 Maven 依赖,并配置执行器组件,以确保任务可以被正确接收和执行。任务调度支持多种触发方式,包括定时调度、手动触发、API 调用等。
### XXL-JOB 的调用方式
除了通过调度中心界面手动触发任务,还可以通过 HTTP 请求远程调用 XXL-JOB 的执行接口。例如,使用 Postman 或其他 HTTP 客户端发送 POST 请求到执行器的 `/run` 接口,并携带必要的任务参数,可以实现任务的外部调用。请求示例如下:
```bash
curl --location 'http://localhost:9999/run' \
--header 'XXL-JOB-ACCESS-TOKEN: default_token' \
--header 'Content-Type: application/json' \
--data '{
"jobId": 708,
"executorHandler": "FileJobService",
"executorBlockStrategy": "SERIAL_EXECUTION",
"executorTimeout": 1800,
"logId": 47299802,
"logDateTime": 1720683798620,
"glueType": "BEAN",
"glueUpdatetime": 1695870751000,
"broadcastIndex": 0,
"broadcastTotal": 1
}'
```
该请求通过指定 `jobId` 和 `executorHandler` 来调用特定任务,同时携带了执行策略、超时时间、日志信息等参数,确保任务能够被正确识别和执行[^2]。
此外,还可以在 Spring Boot 项目中使用 `HttpUtil` 或 Feign 客户端发起 HTTP 请求调用 XXL-JOB 接口。例如,以下代码展示了如何通过 `HttpUtil` 发送 POST 请求并携带 Cookie 信息进行身份验证:
```java
@ApiOperation(value = "分页 查询任务 list", httpMethod = "POST")
@RequestMapping("/pageList")
@ResponseBody
public Result pageList(@RequestBody XxljobInfoInput xxljobInfoInput) {
Map param = JSON.parseObject(JSON.toJSONString(xxljobInfoInput), Map.class);
String updatepath = addressInfo + "/jobinfo/pageList";
HttpResponse execute = HttpUtil.createPost(updatepath).cookie(XxlJobController.Cookieinfo).form(param).execute();
String body = execute.body();
JSONObject jsonObject = JSON.parseObject(body);
return ResultUtil.success(jsonObject);
}
```
在使用 Feign 客户端调用时,需要注意 Hystrix 的超时设置,避免因服务响应时间过长而进入 fallback 逻辑。例如,可以在 `application.yml` 中配置 Hystrix 的超时时间:
```yaml
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 6000
```
###
阅读全文
相关推荐

















