You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jq正确筛选GPU节点?Weka API结果过滤异常求助

节点筛选问题分析与解决

问题出在哪

你现在筛选GPU节点的jq逻辑写错了范围:
原表达式里的startswith("startstring") and contains("-c")|not,实际是对**“startstring开头且包含-c”这个整体条件取反**,而不是你想要的“startstring开头且不包含-c”。

这就导致所有不满足“startstring开头+含-c”的节点都被捞进来,包括weka开头的存储节点——因为Weka节点根本不以startstring开头,自然不满足前面的组合条件,取反后就成了符合条件,所以被错误包含进去。

修正后的命令

要精准筛选GPU节点,得明确两个并列条件:一是主机名以startstring开头,二是主机名里没有-c。对应的jq表达式要把“不含-c”作为独立条件,而不是对整体取反:

curl --insecure --silent --header "authorization: Bearer ${ATKN}" --request GET https://weka01:14000/api/v2/processes | jq -r '.data[] | select(.hostname | startswith("startstring") and (contains("-c") | not))'

或者更直白的写法:

curl --insecure --silent --header "authorization: Bearer ${ATKN}" --request GET https://weka01:14000/api/v2/processes | jq -r '.data[] | select(.hostname | startswith("startstring") and contains("-c") == false)'

验证逻辑

用你给出的示例主机名测试:

  • GPU节点startstring-r1-n3:符合startstring开头且无-c → 会被选中
  • 计算节点startstring-r2-c17-n2:带-c → 会被排除
  • Weka节点(比如weka01):不以startstring开头 → 会被排除

内容的提问来源于stack exchange,提问作者user2664304

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:35:01