giip
SES 商机登记
7分钟阅读

CQELSVR 执行列表指南

介绍如何查询在特定逻辑服务器(LSSN)上注册的 CQE(Custom Query Engine)脚本调度,以及如何强制执行、切换启用状态、删除和查看脚本。

🚀 前往 CQELSVR 执行列表页面 →

📋 概述

CQELSVR 执行列表 用于查询并直接控制注册在某一逻辑服务器(LSSN)上的 CQE 脚本调度(tMgmtScriptList)。选择服务器后会显示其已注册的调度列表,您可以在每一行上立即执行强制执行、切换启用状态、删除或查看脚本正文。

🔄 整体流程 (CQE Flow)

flowchart TD
    A[管理员: CQERepoPut<br/>在仓库中注册脚本] --> B[tMgmtScript<br/>脚本仓库]
    B --> C[管理员: CQEQueuePut<br/>向目标服务器分配调度]
    C --> D[tMgmtScriptList<br/>各LSSN的调度]
    D --> E[代理: CQEQueueGet<br/>定期轮询]
    E --> F[tMgmtQue<br/>从执行队列接收ms_body]
    F --> G[代理: 本地执行<br/>脚本]
    G --> H[KVSPut<br/>报告结果]
    style A fill:#e1f5fe
    style B fill:#b3e5fc
    style C fill:#e1f5fe
    style D fill:#b3e5fc
    style E fill:#e8f5e9
    style F fill:#c8e6c9
    style G fill:#fff9c4
    style H fill:#ffccbc

🔍 界面组成

1. 选择服务器

  • 输入 LSSN: 在顶部输入框中直接输入逻辑服务器 ID(LSSN)。
  • 选择服务器按钮: 点击后会弹出当前项目(csn)下已注册的服务器列表,选中后自动填入 LSSN 字段。
  • 会话记忆: 一旦选择过的 LSSN 会保存在浏览器 sessionStorage 中,刷新页面后仍会保留。

2. 查询执行列表

  • Run 按钮: 输入或选择 LSSN 后点击,即可在下方加载该服务器的调度列表。
  • 翻页: 使用 Prev / Next 按钮逐页移动,也可以在 Offset 输入框中直接输入数字并按 Run 跳转到指定偏移量(服务器每次最多返回 25 条)。

3. 逐行操作

列表中的每一行(一条调度 = 一个 mslsn)支持:

  • 强制执行: 无论调度周期如何,立即将其加入一次性执行队列。若该调度已有排队中的任务,则会失败。
    • 该操作的实质是向 tMgmtQue 表中插入一条执行记录。代理会轮询该队列并取走记录。
    • 对于一次性(repeat=1)调度,强制执行时 active 会降为 0。这只表示"下个周期不要再自动注册该调度",已经进入队列的执行记录仍会正常执行。 请勿把 active=0 误解为执行已被取消。
  • 切换启用: 切换该调度的 Active 状态(开/关)。
  • 删除: 从列表中永久移除该调度(mslsn)——这是硬删除而非简单取消,如需再次使用必须重新注册。
  • 查看脚本: 点击行中的执行 ID(mssn)会在下方(或弹窗)面板中显示该脚本的正文。

4. 跳转到详情页面

  • Machine Detail 按钮: 跳转到所选 LSSN 的详情页面(/lsvrdetail)。
  • Add Queue 按钮: 跳转到 /zh-CN/cqeQueuePut 页面,为该服务器注册新的调度。开始日期的时区约定请参阅 CQE 队列注册指南。

📊 列说明

列说明
msName已注册脚本的名称
mssn脚本唯一 ID。点击可查看脚本正文。
mslsn该调度(服务器-脚本分配)的唯一 ID,是强制执行/切换启用/删除的操作对象。
lssn该调度所注册的逻辑服务器 ID
active周期调度是否自动重新注册(1=开启/0=关闭)。即使该值为 0,也与已经进入队列的执行记录是否执行无关。对于一次性(repeat=1)调度,强制执行时该值降为 0 属于正常现象。
repeat是否/如何重复执行(1=一次性)
interval重复间隔(分钟)
q_flag执行队列等待中标记(1=正在 tMgmtQue 中等待)。代理取走队列后会恢复为 0。 也就是说 q_flag=1 表示"尚未取走",0 表示"已取走或无等待记录"。
lastdate最后一次执行(加入队列)的时间。以 UTC 为基准存储和显示(与本地时间相差一个时区偏移属于正常)。
regdate该调度的注册时间

执行后的状态转换

无论是强制执行还是周期执行,代理取走队列后,各值会按如下方式变化:

对象变化
tMgmtQue.send_flag变为 1(代理已接收)
q_flag由 1 恢复为 0(等待记录已消除)
lastdate更新为执行(加入队列)的时间
active不会自动恢复。

⚠️ 若希望一次性调度在强制执行后继续周期重复,必须在执行结束后用[切换启用]把 active 重新打开。 系统不会自动恢复。

⚙️ 要求

  • 需要登录会话(CSN)——没有会话则无法加载服务器列表。
  • 要查询的 LSSN 必须已注册在当前所选项目下。
  • 强制执行/切换启用需要您是该调度的所有者,或拥有其他权限(如市场购买)。

API 参考

有关此功能的 API 详细规范,请参阅专门指南。

📘 系统管理 API 参考

故障排除

症状原因解决
服务器选择弹窗列表为空当前所选项目(csn)下没有已注册的服务器确认已在顶部选择正确的项目。
强制执行无反应地失败该调度已有排队中的任务(防止重复执行),或您对该调度没有权限稍后重试,或向该调度的所有者确认。
删除后该行看起来仍在列表中删除已成功,但画面尚未刷新再次按 Run 重新加载最新列表。
点击删除没有任何反应,或悄悄失败(例如别人注册的调度)您不是该调度的所有者,因此没有删除权限(RstVal=403)画面现在会显示错误提示(已在 giip 3042 中修复)。请查看提示信息,如有需要请让该调度的所有者或更高权限的账号执行删除。
打开启用后并未立即执行启用只是恢复该调度的排程执行,并非立即执行如需立即执行,请使用 强制执行。
强制执行后 q_flag=1 但 active=0,看起来不会执行一次性调度在强制执行时 active 降为 0 属于正常保持原样即可,会在代理的下次轮询中执行。若之后还希望周期重复,请用[切换启用]重新打开。
队列处于等待中(q_flag=1),但过了几分钟仍未被取走若调度的 lastdate/开始日期被保存为未来时间,它会在取用候选排序中被永久排到最后(把本地时间原样保存到 UTC 数据库时会发生)检查该调度的开始日期,若被设为未来则重新注册。若反复出现,请提交 giip 问题单报告。

🔌 CQE API(自动化)

上述界面操作对应以下 CQE API 动词(byAK/bySk 分发器)。请求发送 text(动词+参数名)、jsondata(值)和 token——但列表查询(CQELsvrRunList)是例外,其参数直接包含在 text 字符串中发送(不使用 jsondata)。

  • CQELsvrRunList lssn <lssn> <offset> — 查询该 LSSN 上注册的调度列表。服务端始终从给定偏移量最多返回 25 条(固定,调用方无法调整)。响应列与上方"列说明"表一致。
  • LSVRList csn — 查询该 csn(项目)下注册的逻辑服务器列表(用于服务器选择弹窗)。
  • CQERunForce mslsn — 无论调度周期如何,立即加入一次性执行队列(tMgmtQue)。一次性(repeat=1)调度此时 active 会降为 0,但已加入的执行记录仍会照常执行。响应 RstVal:200=成功,300=无权限,302=已在队列中(冲突),610=权限不足或燃料余额不足。
  • CQERunActvate mslsn — 将该调度的 active 值在 1 与 0 之间切换。响应 RstVal 与 CQERunForce 相同体系(200/300/302/610)。
  • CQEQueueDel mslsn — 永久删除该调度(非简单取消,需要重新注册)。响应 RstVal:200=成功,403=无权限,404=未找到。
  • CQERepoScript mssn — 获取该脚本(mssn)的正文(msBody)。

认证模型: 此页面的 API 并非使用 giip-issue 技能的 x-api-key(SK)方式,而是使用登录会话的令牌方式,每次请求随附 user_id + token。

相邻功能(脚本注册/批量部署到服务器)的完整规范: CQE 仓库脚本管理指南的"🔌 CQE API(自动化)"一节,以及 giipdb docs/30_Specs/CQE_SPECIFICATION.md。


版本: 1.3 最后更新: 2026-09-25 源文件: giipv3/public/help/cqelsvrRunList.zh-CN.md