pbs-plus
A VS Code extension for the user's TORQUE 7.x cluster, retaining native
Tasks, Resources, and Launcher views and English/Chinese localization.
The observed target client is 7.0.1.h6. Version 0.16.1 replaces the first
release's incompatible PBS Pro/OpenPBS JSON commands with TORQUE formats.
Install the private VSIX with Extensions: Install from VSIX…, or:
code --install-extension /path/to/pbs-plus-0.16.1.vsix
The workspace extension host must already have the site's TORQUE clients and
configuration on its PATH: qselect, qstat, pbsnodes, qsub, and qdel.
For an existing remote VS Code workspace, install the extension in that workspace
host. The extension creates no SSH connection or tunnel. Restart the extension
host after changing its client environment.
The cluster installation needs no npm or public internet. Runtime libraries,
icons, syntax, translations, and help are bundled in the VSIX. PBS clients still
need access to their configured server on the cluster network.
Leave pbs-plus.commands.user empty to use the extension host's OS/environment
identity, or set an explicit username. Job selection is always scoped to that
user. Refresh Tasks and Resources manually from the pbs-plus activity view.
Activation, restoration, rendering, and typing do not query the scheduler.
Supported operations
- Tasks:
qselect -u <user> then batched qstat -x <ids>, preserving exact
string IDs including bare IDs and arrays. Concurrent refreshes coalesce.
- Resources: node XML from
pbsnodes -x; full queue attributes from
qstat -Q -f. Sorting, copying, and completion reuse cached snapshots.
- Completion: TORQUE
#PBS options including -N, -q, -o, -e, -l,
-j, and -t, with nodes=...:ppn=..., memory, and walltime help.
- Launcher: global/workspace script libraries, drag-and-drop, URI-preserving
storage, and argument editing. Only explicit submission executes
qsub.
- Cancellation: explicit commands confirm every owned ID and array scope
before
qdel. Acceptance is a request; a later read establishes final state.
- Logs: open reported absolute paths only when locally accessible from the
extension host; merged
oe/eo streams use the actual destination.
TORQUE -x selects XML; it is not a request for historical jobs. Retained
completed jobs may be read by their exact IDs while site retention allows it.
State C indicates completion, and success requires numeric exit status zero.
Missing jobs or missing exit status remain unknown. A failed read preserves the
last successful snapshot and displays a diagnostic. Resource availability stays
unknown when the server does not provide sufficient allocation information.
Submit a script deliberately
Open a workspace and add a .pbs or .sh file to Launcher, or use the editor/
Explorer submit command. Example directives must fit the site's policies:
#!/bin/bash
#PBS -N pbs-plus-test
#PBS -l nodes=1:ppn=1
#PBS -l mem=1gb
#PBS -l walltime=00:01:00
cd "$PBS_O_WORKDIR" || exit 1
hostname
The local submission working directory is the containing workspace folder, or
the script directory outside a workspace. The script controls its compute-node
working directory. Dirty files must save successfully before submission.
Non-file URIs and nonempty stored positional arguments block submission; stored
arguments remain editable. There is no automatic submission, cancellation,
mutation retry, interactive allocation, or scheduler compatibility selector.
After an ambiguous timeout, refresh to reconcile instead of resubmitting.
Missing output may be staged elsewhere; the extension does not fetch remote logs.
Storage and verification
Task history uses versioned pbs_tasks_v1.json in VS Code global storage.
Script libraries and history use serialized atomic replacement within one host.
Corrupt/failed data is preserved for recovery. Separate windows sharing a store
have last-writer-wins behavior; there is no cross-process locking.
The user confirmed job XML support on the target client. Automated checks use
sanitized site-shaped fixtures and fake clients, with no real job mutations.
Full live-cluster validation is still needed; see the development evidence in
docs/torque-migration.md in the repository.
License and provenance
MIT — see LICENSE. Originated from
slurm--; original
Copyright (c) 2024 XingYuSSS and historical notices are preserved.
Bundled XML parser notices appear in THIRD_PARTY_NOTICES.md.