This small web application provides a simple web view of the nodes, queues and jobs on a High Performance Computer Cluster (HPCC) running the PBS batch scheduling system. It was developed using PBS Professional but should also work with the open source PBS. General information on PBS can be found at its Wikipedia entry: Portable Batch System and the PBS Professional Open Source Project homepage.

Screenshot showing the web application.
Files:
pbsweb.py The main pbsweb application.
pbsutils.py Module containing utility functions for the pbsweb application.
swig_compile_pbs.sh Run this to create _pbs.so
pbs.i Used by swig_compile_pbs.sh
requirements.txt Python requirements file.
pbsweb.ini Example uWSGI file for this app.
install.sh Installs files into production.
tests/test_pbs_jobs.py Prints the current jobs and their attributes.
tests/test_pbs_nodes_all.py Prints all nodes and their attributes.
tests/test_pbs_queues.py Prints the queues and their attributes.
Directories:
static/ Contains static resources like stylesheets.
views/ Contains templates for the pbsweb bottle application.
tests/ Contains all the tests.
- PBS Professional commercial or open source
You will need the file
pbs_ifl.hfrom your PBS installation. - gcc
- openssl-devel
- SWIG - Software Wrapper and Interface Generator
- Python development packages
- Python virtual environment with:
- bottle Bottle micro web framework
- Jinja2 Jinja2 templating engine
- uWSGI To run the web app
- apache or nginx
Details are provided in the Installation Notes.
Copyright University of Technology Sydney. This software is released under the GNU General Public License, either version 3 of the License, or (at your option) any later version. See the file LICENSE for details.
Information on the "Batch Interface Library" can be found in the "PBS Professional® Programmer's Guide". See the section "Batch Interface Library". This is the primary API to communicate with the PBS MoM.
Bottle Python Web Framework: https://bottlepy.org/docs/0.12/
SWIG Tutorial: http://www.swig.org/tutorial.html