| applications.py | |
| testapp() | Checks that executables exist on the HPC machine |
| processjobs() | Process jobs to extract a list of files for staging and an execution command-line. This method contains hooks to call methods that are provided via the plug-in framework (such as custom input file parsers). |
| configuration.py | |
| processconfigs() | Processes configuration information from sources such as command-line and configuration files into the two main Longbow data structures. |
| loadconfigs() | A method for loading configuration files (ini format) |
| saveconfigs() | A method for saving configuration files (ini format) |
| exceptions.py | Contains various custom exception classes which are used in the error handling within Longbow methods. |
| logger.py | |
| setuplogger() | A method that sets the correct logging mode. |
| standardlogger() | The standard logger method, configures python logger to log standard events to specified file only. |
| verboselogger() | The verbose logger method, configures python logger to log standard events to the specified file and console output. |
| debuglogger() | The debug logger method, configures python logger to log an enhanced set of log messages to the log file and console output. |
| scheduling.py | |
| testenv() | This method will check the scheduling environment for all hosts referenced in jobs if not already set by user, and make an attempt to auto determine if it is not. |
| delete() | A generic job delete method, this method makes a call to the environment specific delete method that are provided via plug-ins. |
| monitor() | The generic method for monitoring jobs after submission, this method contains a loop that continues until all jobs have ended. This method contains the logic for persistent staging should this have been configured. Calls are made to environment specific methods that are provided via plug-ins. |
| prepare() | The generic method for writing the job submission file, this method makes calls to the environment specific method provided via the plug-in framework. |
| submit() | The generic method for submitting jobs, this method makes calls to environment specific submit methods provided via the plug-in framework. |
| shellwrappers.py | |
| testconnections() | A method for testing that SSH connections can be established with each HPC host listed under jobs. |
| sendtoshell() | A method for assembling commands to be sent to the shell via python subprocess calls. |
| sendtossh() | A method for assembling commands to be sent to the shell which will utilise SSH. |
| sendtorsync() | A method for assembling commands to be sent to the shell which will utilise rsync. |
| localcopy() | A method for copying files/directories between local paths. |
| localdelete() | A method for deleting files/directories from local paths. |
| locallist() | A method for listing the contents of local paths. |
| remotecopy() | A method for copying files/directories between locations on a remote host. |
| remotedelete() | A method for deleting files/directories from a remote host. |
| remotelist() | A method for listing the contents of paths on a remote host. |
| upload() | A method for uploading files from a local path to a path on a remote host. |
| download() | A method for downloading files from a path on a remote host to a local path. |
| staging.py | |
| stage_upstream() | Method for staging all files from a set of jobs to their respective HPC hosts. |
| stage_downstream() | Method for staging all files for a particular job from the HPC host back to the local machine. |
| cleanup() | Method for cleaning up the working directories of each HPC host listed in completed jobs. |