HTTP任务
HTTP类型任务通过HTTP/HTTPS协议调度执行任务,无需接入SDK,即可实现跨语言、跨平台的任务调度。支持Kubernetes环境接入与非Kubernetes环境接入两种接入方式。
前提条件
如当前引擎版本低于2.3.0,需升级至2.3.0及以上版本。
升级过程实例将发生重启。
优势
存量业务零改造接入。
多语言统一解决方案。
支持AI Agent和工作流场景。
HTTP任务接入方式
Kubernetes环境接入
Kubernetes环境接入是指将Kubernetes集群中的Service与应用进行绑定,以支持HTTP任务的调度。绑定完成后,该应用下的所有任务可共享对应Service关联的Pod资源。
当用户在应用中配置K8s Service后,调度中心会自动获取相关Pod实例信息。任务配置时仅需指定HTTP请求路径,无需设置具体Pod地址。在定时触发执行时,调度中心依据预设的路由策略向目标Pod发送HTTP请求。任务执行结果将被记录,并推送至SLS日志系统,便于后续查看与分析。

调度中心通过服务发现线程周期性检测Pod的扩缩容事件及异常状态,自动将最新的Pod实例信息同步至Pod管理器,实现对Pod集群的动态监控与状态维护。
Pod管理器负责维护Pod的网络地址与健康状态,并支持多种任务路由策略。除单实例路由外,还提供广播分片路由模式,在触发一次任务时,可向目标服务下的所有Pod实例广播请求。调度中心在HTTP请求头中注入分片上下文信息(包括分片索引、分片总数等参数),以支持用户在任务执行过程中进行细粒度的逻辑控制与数据划分。
非Kubernetes环境接入
在非Kubernetes环境中,通过在应用层面配置HTTP目标域名,实现应用级的统一域名管理与路由策略控制。当应用绑定多个域名后,其下属所有任务将共享这些域名配置。
用户在应用层级进行域名绑定,调度中心通过域名管理器维护域名信息。任务创建时仅需配置请求路径,无需指定域名。任务触发时,调度中心依据预设的路由策略自动选择合适的域名,并将请求发送至网关。网关完成鉴权、流量控制及负载均衡等处理后,转发请求至目标服务,执行结果最终同步至SLS日志服务。

域名管理器负责维护域名信息,支持域名的添加、删除、修改操作及标签路由配置,可根据业务标签实现流量分发,并支持多种路由策略,以满足不同的调度与负载均衡需求。
接入方式对比
对比维度 | Kubernetes环境:通过Service接入 | 非Kubernetes环境:通过网关接入 |
接入模式 | 基于Kubernetes Service直接访问后端Pod实例 | 通过统一网关代理请求,转发至目标域名服务 |
服务发现机制 | 主动监听Endpoint变化,动态维护Pod列表 | 不支持服务发现,不感知后端节点状态 |
执行目标粒度 | 可调度到具体Pod IP和端口,实现点对点直连调用 | 请求发送至网关,由网关完成内部负载均衡和实例路由,调度中心无法感知真实后端节点 |
路由策略 | 支持单实例路由策略和广播分片 | 不支持路由策略,使用网关的路由策略 |
广播分片 | 原生支持广播分片模式,适用于大规模并行批处理场景 | 不支持广播分片,所有任务均为单点执行,无法实现跨节点协同处理 |
健康状态管理 | 实时同步Endpoint状态,自动剔除未就绪或已终止的Pod | 依赖用户手动维护域名可用性 |
扩展性与灵活性 | 适配云原生环境,支持弹性伸缩、滚动发布等场景 | 更适合传统架构或异构系统集成,兼容性强,易于与现有网关体系对接 |
应用场景 | 容器化微服务、跑批作业分片执行、高并发定时任务 | 非容器环境、混合部署架构、遗留系统接入、需统一网关治理的企业级API调度 |
接入步骤
登录MSE XXL-JOB控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择任务调度 > XXL-JOB版。
单击进入目标实例,在左侧导航栏的应用管理,然后单击创建应用,应用类型选择Http应用,然后单击确定。
接入HTTP执行器,具体步骤参见HTTP应用接入执行器。
在左侧导航栏选择任务管理,然后单击创建任务,关联应用选择步骤3创建的应用,任务类型选择HTTP。

配置HTTP任务的请求域名、Path、请求方式、超时时间。

配置HTTP任务的请求参数,根据需求填写Header、Query、Body。

配置HTTP任务响应定义,包括成功响应解析模式与成功结果解析模式,解析模式提供响应码、响应体与响应Body三种解析类型。

配置HTTP任务的失败重试,包括失败重试次数、重试间隔时间。当失败重试次数大于0,即任务失败后需要进行重试时,还可配置重试域名和接口Path,使任务失败后请求该域名和Path。

测试HTTP任务
HTTP任务创建完成后,可运行一次任务,并查看任务的执行记录详情和日志。
任务成功示例

调度详情-基本信息

调度详情-输入输出

日志记录

任务失败示例

调度详情-基本信息

调度详情-输入输出

日志记录

HTTP任务请求头
MSE-XXLJOB在执行HTTP任务时,会向请求Header中添加以下系统参数:
名称 | 含义 | 示例值 |
schedulerx-appId | 应用ID | 12 |
schedulerx-jobId | 任务ID | 35 |
schedulerx-jobName | 任务名称 | http-test-job |
schedulerx-scheduleTimestamp | 调度时间戳(毫秒) | 1760164985000 |
schedulerx-dataTimestamp | 数据时间(毫秒) | 1760164980000 |
schedulerx-user | 用户信息 | 1344371792 |
schedulerx-maxAttempt | 最大重试次数 | 3 |
schedulerx-attempt | 当前重试次数 | 1 |
schedulerx-jobExecutionId | 任务执行ID | 1417474640397221891 |
schedulerx-logId | 分片ID(广播分片) | 1417474640531439619 |
schedulerx-shardingIndex | 分片序号(广播分片) | 0 |
schedulerx-shardingTotal | 分片总数(广播分片) | 3 |