跳转到内容

订阅任务状态

通过 RocketMQ 接收任务状态变更通知。

  • 接口名称: 任务状态推送
  • 接口说明: 用户通过订阅RocketMQ的消息来获取任务的状态。
  • 订阅的topic: httpRemote
  • 订阅的tag: uploadHttpRemoteTaskStatus
  • 是否需要登录: 否
  • 是否需要权限: 是

备注:需要打开远程推送开关,系统管理-参数设置中http_three_part_remote_upload改为true


字段 / 类型说明与示例
taskExecuteCode
String
巡检任务执行ID;示例见下方。
taskCode
String
任务code
示例:1989299475652878336
taskName
String
任务名称
示例:全面巡检1114-(20251115153307)
status
String
任务状态:1-已执行;2-正在执行;3-暂停;4-终止;5-未执行;6-超期
示例:2
planStartTime
String
计划开始时间yyyy-MM-dd HH:mm:ss
示例:2026-01-31 16:05:55
startTime
String
实际开始时间yyyy-MM-dd HH:mm:ss
示例:2026-01-31 16:06:23
taskProgress
String
任务进度
示例:100%
remainTime
String
预计剩余时间
description
String
描述

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);
}
}