CQELSVR Run List Guide
Learn how to view the CQE (Custom Query Engine) script schedules registered on a specific logical server (LSSN), and how to force-run, toggle activation, delete, and view scripts for them.
๐ Overview
The CQELSVR Run List shows and directly controls the CQE script schedules (tMgmtScriptList) registered on one logical server (LSSN). Once you select a server, its registered schedules are listed, and each row lets you force-run, toggle activation, delete, or view the script body immediately.
๐ End-to-End Flow (CQE Flow)
flowchart TD
A[Admin: CQERepoPut<br/>Register script in repo] --> B[tMgmtScript<br/>Script Repository]
B --> C[Admin: CQEQueuePut<br/>Assign schedule to servers]
C --> D[tMgmtScriptList<br/>Per-LSSN schedules]
D --> E[Agent: CQEQueueGet<br/>Periodic polling]
E --> F[tMgmtQue<br/>Receive ms_body from queue]
F --> G[Agent: Execute<br/>script locally]
G --> H[KVSPut<br/>Report result]
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
๐ Screen Layout
1. Server Selection
- LSSN input: type a logical server ID (LSSN) directly into the field at the top.
- Select button: opens a popup listing the servers registered under the current project (csn). Picking one fills in the LSSN field automatically.
- Session memory: the last selected LSSN is saved to browser sessionStorage and survives a page reload.
2. Viewing the Run List
- Run button: after entering or selecting an LSSN, click this to load that server's schedule list below.
- Paging: use Prev / Next to move page by page, or type a number into the Offset field and press Run to jump to a specific offset. (The server returns at most 25 rows per request.)
3. Per-Row Actions
Each row (one schedule = one mslsn) supports:
- Force run: queues an immediate one-time run regardless of the schedule's interval. Fails if a run for this schedule is already queued.
- What this actually does is insert one execution entry into the
tMgmtQuetable. Agents poll that queue and pick the entry up. - For a one-off (
repeat=1) schedule, forcing a run also dropsactiveto 0. That only means "do not auto-register this schedule again on the next cycle" โ the entry already sitting in the queue still runs normally. Do not readactive=0as the run having been cancelled.
- What this actually does is insert one execution entry into the
- Toggle activation: flips this schedule's Active state on/off.
- Delete: permanently removes this schedule (
mslsn) from the list โ this is a hard delete, not a simple cancel; it must be re-registered if needed again. - View script: clicking the run ID (mssn) on a row shows that script's body in a panel (or popup) below.
4. Navigating to Detail Pages
- Machine Detail button: goes to the selected LSSN's detail page (
/lsvrdetail). - Add Queue button: goes to
/en/cqeQueuePutto register a new schedule for this server. See the CQE Queue Registration Guide for the start-date timezone rule.
๐ Column Reference
| Column | Description |
|---|---|
| msName | Name of the registered script |
| mssn | Unique script ID. Click to view the script body. |
| mslsn | Unique ID of this schedule (server-to-script assignment). This is the target of force-run/toggle/delete. |
| lssn | The logical server this schedule is registered on |
| active | Whether a recurring schedule is auto-registered again (1=on / 0=off). Even when this is 0, it has no bearing on whether an entry already in the queue runs. For a one-off (repeat=1) schedule, dropping to 0 on a forced run is normal. |
| repeat | Whether/how the schedule repeats (1 = one-off) |
| interval | Repeat interval, in minutes |
| q_flag | Queued-for-execution marker (1 = waiting in tMgmtQue). It returns to 0 once an agent picks the entry up. So q_flag=1 means "not picked up yet", and 0 means "picked up, or nothing waiting". |
| lastdate | Time the schedule was last queued/run. Stored and displayed on a UTC basis (a difference from your local time equal to your timezone offset is expected). |
| regdate | Time this schedule was registered |
State transitions after a run
Once an agent picks the queue entry up โ whether from a forced run or a scheduled one โ the values change like this:
| Target | Change |
|---|---|
tMgmtQue.send_flag | set to 1 (the agent has received it) |
q_flag | returns from 1 to 0 (nothing left waiting) |
lastdate | updated to the execution (queueing) time |
active | is not restored automatically. |
โ ๏ธ If you want a one-off schedule to keep repeating after you force-ran it, you must turn
activeback on yourself with [Toggle activation] once the run has finished. The system will not revert it for you.
โ๏ธ Requirements
- Requires a logged-in session (CSN) โ without one, the server list cannot be loaded.
- The LSSN you look up must be registered under the currently selected project.
- Force-run and activation toggle require you to own the schedule, or hold separate permission (e.g. a marketplace purchase).
API Reference
For detailed API specifications of this feature, refer to the dedicated guide.
Troubleshooting
| Symptom | Cause | Resolution |
|---|---|---|
| The server-select popup shows an empty list | No servers are registered under the currently selected project (csn) | Confirm the correct project is selected at the top. |
| Force run silently fails | A run for this schedule is already queued (duplicate prevention), or you lack permission on it | Retry later, or check with the schedule's owner. |
| The row still appears after deleting it | The delete succeeded but the screen hasn't refreshed yet | Press Run again to reload the latest list. |
| Clicking delete does nothing, or silently fails (e.g. for a schedule someone else registered) | You are not the owner of this schedule, so you lack delete permission (RstVal=403) | An error alert is now shown on screen (fixed in giip 3042). Check the alert message, and if needed, ask the schedule's owner or an account with higher permission to delete it. |
| Turning activation on doesn't run it immediately | Activation only re-enables the scheduled run, it does not trigger an immediate execution | Use Force run if you need it to run right now. |
After a forced run, q_flag=1 but active=0, so it looks like it will not run | For a one-off schedule, active dropping to 0 on a forced run is normal | Leave it as is โ it will run on the next agent poll. If you also want it to keep repeating afterwards, turn it back on with [Toggle activation]. |
The entry is queued (q_flag=1) but no agent picks it up after several minutes | If the schedule's lastdate/start date is stored as a future time, it is permanently pushed to the back of the pickup ordering (this happens when a local wall-clock time is stored verbatim into the UTC database) | Check that schedule's start date and re-register it if it is set in the future. Report it as a giip issue if it recurs. |
๐ CQE API (for automation)
The UI actions above map to these CQE API verbs (byAK/bySk dispatcher). Requests send text (verb + parameter names), jsondata (values), and token โ except the list query (CQELsvrRunList), which is the one exception: its parameters are embedded directly in the text string (no jsondata).
- CQELsvrRunList
lssn <lssn> <offset>โ list the schedules registered on that LSSN. The server always returns at most 25 rows from the given offset (fixed, not caller-configurable). Response columns match the "Column Reference" table above. - LSVRList
csnโ list the logical servers registered under that csn (project); used by the server-select popup. - CQERunForce
mslsnโ queues an immediate one-time run intotMgmtQueregardless of schedule. For a one-off (repeat=1) schedule this also dropsactiveto 0, but the queued entry still runs. ResponseRstVal:200=success,300=no permission,302=already queued (conflict),610=insufficient permission or gas balance. - CQERunActvate
mslsnโ toggles that schedule'sactivevalue between 1 and 0. Uses the sameRstValscheme as CQERunForce (200/300/302/610). - CQEQueueDel
mslsnโ permanently deletes that schedule (not a simple cancel โ it must be re-registered). ResponseRstVal:200=success,403=no permission,404=not found. - CQERepoScript
mssnโ fetches that script's (mssn) body (msBody).
Auth model: this page's API does not use the giip-issue skill's x-api-key/SK model โ it uses the logged-in session's token model, sending user_id + token with each request.
Full specification for the adjacent feature (script registration / bulk server deployment): the "๐ CQE API (for automation)" section of the CQE Repository Script Management Guide, and giipdb
docs/30_Specs/CQE_SPECIFICATION.md.
Version: 1.3
Last Updated: 2026-09-25
Source File: giipv3/public/help/cqelsvrRunList.en.md