订阅任务状态
通过 RocketMQ 接收任务状态变更通知。
接口基础信息
Section titled “接口基础信息”- 接口名称: 任务状态推送
- 接口说明: 用户通过订阅RocketMQ的消息来获取任务的状态。
- 订阅的topic:
httpRemote - 订阅的tag:
uploadHttpRemoteTaskStatus - 是否需要登录: 否
- 是否需要权限: 是
备注:需要打开远程推送开关,系统管理-参数设置中http_three_part_remote_upload改为true
| 字段 / 类型 | 说明与示例 |
|---|---|
taskExecuteCodeString | 巡检任务执行ID;示例见下方。 |
taskCodeString | 任务code 示例: 1989299475652878336 |
taskNameString | 任务名称 示例: 全面巡检1114-(20251115153307) |
statusString | 任务状态:1-已执行;2-正在执行;3-暂停;4-终止;5-未执行;6-超期 示例: 2 |
planStartTimeString | 计划开始时间yyyy-MM-dd HH:mm:ss 示例: 2026-01-31 16:05:55 |
startTimeString | 实际开始时间yyyy-MM-dd HH:mm:ss 示例: 2026-01-31 16:06:23 |
taskProgressString | 任务进度 示例: 100% |
remainTimeString | 预计剩余时间 |
descriptionString | 描述 |
taskExecuteCode
ysc001_1989299475652878336_20251115153307_yiib{ "taskExecuteCode": "ysc001_2017509386119794688_20260131160554_ov1r", "taskCode": "2017509386119794688", "taskName": "zz0131-(20260131160554)", "status": "2", "planStartTime": "2026-01-31 16:05:55", "startTime": "2026-01-31 16:06:23", "taskProgress": "0.00", "remainTime": null, "description": null}订阅代码示例:
@Slf4j@Component@RocketMQMessageListener( consumerGroup = "http_remote_group", topic = ConstRocketMQ.TOPIC_HTTP_REMOTE, selectorType = SelectorType.TAG, consumeMode = ConsumeMode.CONCURRENTLY, maxReconsumeTimes = 2// 建议添加:失败重试次数)public class HttpMessageConsumerTest implements RocketMQListener<MessageExt> { @Override public void onMessage(MessageExt message) { String msgId = message.getMsgId(); String keys = message.getKeys(); Map<String, String> properties = message.getProperties(); String tags = properties.get("TAGS"); String respMessageId = message.getProperty("respMessageId"); log.info("开始处理消息 msgId:{} tags {} respMessageId:{} keys:{}", msgId, tags, respMessageId, keys); String res = new String(message.getBody(), StandardCharsets.UTF_8); log.info("原始消息内容: {}", res); }}