InfluxDB如何通过influx CLI命令运行任务?Run ID如何获取?
问题原因
你混淆了两个完全不同的InfluxDB标识符:
- 通过
influx task list拿到的097f6888e870e000是任务本身的ID(Task ID),不是influx task run retry要求的Run ID。 influx task run retry的作用是重试已经执行过的某一次历史任务运行记录,必须传入对应历史运行记录的专属ID,直接传任务ID自然会返回run not found错误。- 你传入
0000000000000000报invalid ID是因为InfluxDB的ID有固定的编码校验规则,全0字符串不符合合法ID格式,会被直接判定为参数无效。
获取合法Run ID的方法
执行以下命令查询指定任务下的所有历史运行记录,返回结果第一列的ID就是合法的Run ID:
# 替换为你自己的任务ID influx task run list --task-id=097f6888e870e000
拿到返回的Run ID后,再执行重试命令即可:
# 替换为实际的任务ID和查询到的历史Run ID influx task run retry --task-id=097f6888e870e000 --run-id=<查询到的历史Run ID>
手动触发新任务运行的正确方法
如果你想要实现和Web界面点击「运行任务」完全一致的效果——即立刻触发一次全新的任务执行,而不是重试历史运行,不要用retry子命令,使用create子命令即可,该命令不需要传入Run ID:
influx task run create --task-id=097f6888e870e000
命令执行成功后会返回本次新触发运行的相关信息,其中就包含这次新运行生成的Run ID。
内容的提问来源于stack exchange,提问作者Michal Špondr
相关产品推荐
相关产品推荐

