You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FBQueue automatically injects environment variables into the job execution context to ensure compatibility with scripts designed for traditional HPC schedulers like PBS.
187
+
188
+
| Variable | Description |
189
+
| :--- | :--- |
190
+
|**`$PBS_JOBID`**| The unique job ID assigned by FBQueue (e.g., `147`). |
191
+
|**`$PBS_JOBNAME`**| The name of the job (defaults to the script path if not specified). |
192
+
|**`$PBS_O_WORKDIR`**| The absolute path to the directory where the job was submitted. |
193
+
|**`$PBS_QUEUE`**| The name of the queue where the job is executing. |
194
+
|**`$PBS_NODEFILE`**| Path to a temporary file containing the execution hostname. Deleted after job completion. |
195
+
|**`$PBS_ENVIRONMENT`**| Set to `PBS_BATCH` to indicate the job is running in a batch environment. |
196
+
|**`$PBS_O_HOST`**| The hostname of the machine where the job was submitted. |
197
+
|**`$PBS_O_LOGNAME`**| The username of the user who submitted the job. |
198
+
199
+
## 10. Roadmap
185
200
186
201
*[x]**Background Archiving**: Automatic `tar.gz` compression of old job records during idle periods.
187
-
****Flexible Directory Discovery**: Support for recursive parent directory search for `.fbqueue` configuration.
188
-
****Detailed Analytics**: Advanced statistics and status summaries via `fbqueue stat`.
202
+
*[x]**Full PBS Compatibility**: Support for standard environment variables and script directives.
203
+
*[x]**Windows Native Execution**: Support for `.ps1` and `.bat` scripts with automatic path handling.
204
+
*[ ]**Detailed Analytics**: Advanced statistics and status summaries via `fbqueue stat`.
Copy file name to clipboardExpand all lines: PBS_COMPATIBILITY.md
+16-1Lines changed: 16 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,22 @@ Job id Name User Time Use S Queue
83
83
84
84
---
85
85
86
-
## 4. Why use FBQueue for PBS Workflows?
86
+
## 4. Standard PBS Environment Variables
87
+
88
+
FBQueue injects standard PBS environment variables into your job's execution context. This allows your scripts to remain portable across different clusters.
89
+
90
+
| Variable | Description |
91
+
| :--- | :--- |
92
+
|**`$PBS_JOBID`**| The unique job ID assigned by FBQueue. |
93
+
|**`$PBS_O_WORKDIR`**| The directory from which the job was submitted. |
94
+
|**`$PBS_NODEFILE`**| Path to a file containing the hostname of the execution node. |
95
+
|**`$PBS_O_HOST`**| The hostname of the submission machine. |
96
+
|**`$PBS_O_LOGNAME`**| The username of the user who submitted the job. |
97
+
|**`$PBS_ENVIRONMENT`**| Set to `PBS_BATCH` to indicate a batch job environment. |
98
+
99
+
---
100
+
101
+
## 5. Why use FBQueue for PBS Workflows?
87
102
88
103
-**Personal Sandbox**: Run your PBS scripts on your local workstation or a shared server where you don't have administrative rights to a full PBS cluster.
89
104
-**Portability**: Move your research scripts between a massive supercomputer and your local laptop without changing a single line of the `#PBS` directives.
-**Full PBS Environment Emulation**: Jobs now automatically define standard PBS variables like `$PBS_JOBID`, `$PBS_O_WORKDIR`, `$PBS_O_HOST`, and `$PBS_O_LOGNAME`.
86
+
-**Nodefile Support**: Dynamically generates and cleans up `$PBS_NODEFILE` for compatibility with scripts expecting a list of execution nodes.
87
+
-**Improved Metadata Accuracy**: Enhanced hostname and user detection across both Linux and Windows for more reliable job logging.
88
+
84
89
### v0.9.2
85
90
-**Fixed Process Leak**: Improved job cancellation logic using process groups (`setsid`) on Unix and tree termination (`/T`) on Windows. Subprocesses spawned by job scripts are now correctly terminated.
86
91
-**Robust Job Filtering**: `qstat <jobID>` (and `stat <jobID>`) now works reliably even if the job has already finished and moved to history. It also correctly handles the `.master` suffix.
0 commit comments