管理简单任务和集群任务

任务列表提供当前环境中所有任务的信息总览。

查看任务

查看任务列表

  1. 登录 SOFAStack 控制台

  2. 在左侧导航栏选择 中间件 > 任务调度 > 任务配置

    您可以在任务列表中查看已创建的调度任务,包括任务的名称、所属应用、任务优先级等信息。mv

查看订阅节点

  1. 在任务列表中,单击目标任务名称。

  2. 单击 客户端 页签。

    您可以查看已订阅的客户端 IP、版本和执行记录。单击 立即触发 可触发任务。mv

查看调度记录

当前仅支持查看回调 CALLBACK 任务的调度记录、集群任务拆分时各索引块的执行情况以及客户端日志。

  1. 在任务列表中,单击目标任务名称。

  2. 单击 调度记录 页签。

    您可以查看如下内容:

    • 请求 ID:用于故障排查。

    • 触发状态:包括触发成功、触发失败、漏触发。

    • 触发原因:包括手动触发、定时触发、事件触发、拓扑触发。

    • 开始时间:任务执行的开始时间。

    • 结束时间:任务执行的结束时间。

    • 耗时:请求执行时长,单位为秒。

    • 客户端:订阅节点的 IP 地址。

    • 执行状态:包括执行成功、执行失败等。

    • 上下文:可查看触发上下文及执行上下文。

    版本号

任务分组

您可以对业务逻辑对任务进行分组管理。

  1. SOFAStack 控制台,选择 中间件 > 任务调度 > 任务分组

  2. 单击 添加任务分组,然后配置 分组名称 描述

  3. 单击目标分组右侧的 批量添加任务

  4. 选中目标任务后,单击 批量添加选中

导出和导入任务

您可以在控制台上以 JSON 文件的形式对任务进行批量导入及导出。解决线下到线上的配置同步问题和不同环境之间的任务配置同步问题。

导出任务

  1. SOFAStack 控制台,选择 中间件 > 任务调度 > 任务配置

  2. 在任务列表选中目标任务,然后单击 导出

    导出的 JSON 文件存放在浏览器设置的默认下载文件夹中。

导入任务

  1. SOFAStack 控制台,选择 中间件 > 任务调度 > 任务配置

  2. 单击 导入,然后单击 浏览

  3. 选中目标文件,然后单击 打开

  4. 单击 确定

示例文件

  • 简单任务示例

    {
        "file":[
                 {
                    "app":"schedulertutorial",
                    "context":{},
                    "cron":"0 0/5 * * * ?",
                    "failHandleStrategy":"THREE_TIMES",
                    "handlers":[
                    "stepOne",
                    "stepTwo"],
                    "invokeType":"CALLBACK",
                    "name":"stepTest",
                    "routeStrategy":"RANDOM",
                    "shardingCount":1,
                    "timeUnit":"MINUTES",
                    "timeout":1,
                    "triggerType":"CRON",
                    "type":"SIMPLE"
                 },
                {
                "app":"watchmen",
                "context":{
                    "customParam":{
                    "k1":"test1",
                    "k2":"test2",
                    "k3":"test3"}
                },
                "cron":"0 0 0 * * ? *",
                "des":"callback分片任务",
                "failHandleStrategy":"NO_RETRY",
                "handlers":["CALLBACK_SHARDS_JOB"],
                "invokeType":"CALLBACK",
                "name":"CALLBACK_SHARDS_JOB",
                "routeStrategy":"RANDOM",
                "shardingCount":3,
                "timeUnit":"SECONDS",
                "timeout":10,
                "triggerType":"CRON",
                "type":"SIMPLE"
            },
            {
                "app":"watchmen",
                "context":{
                    "customParam":{
                    "k1":"v1",
                    "k2":"v2"}
                 },
                "cron":"0 0 0 * * ? *",
                "des":"既分片又分步任务",
                "failHandleStrategy":"THREE_TIMES",
                "handlers":[
                    "WATCHMEN_CALLBACK_RETRY_THREE_TIMES_JOB",
                    "CALLBACK_SHARDS_JOB"
                ],
                "invokeType":"CALLBACK",
                "name":"CALLBACK_SHARDS_AND_STEPS_JOB",
                "routeStrategy":"RANDOM",
                "shardingCount":2,
                "timeUnit":"SECONDS",
                "timeout":10,
                "triggerType":"CRON",
                "type":"SIMPLE"
            },
        ],
        "triggerMode":"RPC"
    }
  • 集群任务示例

    {
        "file":[
            {
                "app":"schedulertutorial",
                "context":{},
                "des":"",
                "failHandleStrategy":"NO_RETRY",
                "handlers":[
                    "ANTSCHEDULER_CLUSTER_FIRST_SPLITOR",
                    "ANTSCHEDULER_CLUSTER_SECOND_SPLITOR",
                    "ANTSCHEDULER_CLUSTER_EXECUTOR"
                ],
                "invokeType":"CALLBACK",
                "name":"testCluster",
                "routeStrategy":"RANDOM",
                "shardingCount":1,
                "timeUnit":"MINUTES",
                "timeout":5,
                "triggerType":"EVENT",
                "type":"CLUSTER"
            }
        ],
        "triggerMode":"RPC"
    }

调整部署单元状态

您可以在 任务配置 页面查看每个任务部署的单元总数以及启用的单元数,并根据需求调整各部署单元的启用状态。

说明

该功能仅适用于支持 LDC 单元化架构的环境。

  1. SOFAStack 控制台,选择 中间件 > 任务调度 > 任务配置

  2. 打开部署单元设置页面。

    您可以通过以下任一方式打开部署单元设置页面:

    • 任务配置 页面的任务列表中,单击目标任务 部署单元 列的铅笔图标。编辑

    • 在目标任务的详情页,单击 部署单元 页签下的 调整单元状态调整

  3. 设置部署单元开关状态 对话框,选择您需要启用的部署单元后,单击 确定mv