:py:mod:`buildtest.executors.pbs` ================================= .. py:module:: buildtest.executors.pbs .. autoapi-nested-parse:: This module implements PBSExecutor class that defines how executors submit job to PBS Scheduler Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: buildtest.executors.pbs.PBSExecutor buildtest.executors.pbs.TorqueExecutor Attributes ~~~~~~~~~~ .. autoapisummary:: buildtest.executors.pbs.logger .. py:data:: logger .. py:class:: PBSExecutor(name, settings, site_configs, account=None, maxpendtime=None, timeout=None) Bases: :py:obj:`buildtest.executors.base.BaseExecutor` The PBSExecutor class is responsible for submitting jobs to PBS Scheduler. The class implements the following methods: - load: load PBS executors from configuration file - dispatch: submit PBS job to scheduler - poll: poll PBS job via qstat and retrieve job state - gather: gather job result - cancel: cancel job if it exceeds max pending time Initiate a base executor, meaning we provide a name (also held by the BuildExecutor base that holds it) and the loaded dictionary of config opts to parse. :param name: name of executor :type name: str :param setting: setting for a given executor defined in configuration file :type setting: dict :param site_configs: Instance of SiteConfiguration class :type site_configs: buildtest.config.SiteConfiguration :param timeout: Test timeout in number of seconds :type timeout: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional :param account: Account to use for job submission :type account: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional .. py:attribute:: type :value: 'pbs' .. py:method:: launcher_command(numprocs=None, numnodes=None) .. py:method:: run(builder) This method is responsible for dispatching PBS job, get JobID and start record metadata in builder object. If job failed to submit we check returncode and exit with failure. After we submit job, we start timer and record when job was submitted and poll job once to get job details and store them in builder object. :param builder: An instance object of BuilderBase type :type builder: buildtest.buildsystem.base.BuilderBase .. py:class:: TorqueExecutor(name, settings, site_configs, account=None, maxpendtime=None, timeout=None) Bases: :py:obj:`PBSExecutor` This class is a sub-class of PBSExecutor class and is responsible for Torque Executor Initiate a base executor, meaning we provide a name (also held by the BuildExecutor base that holds it) and the loaded dictionary of config opts to parse. :param name: name of executor :type name: str :param setting: setting for a given executor defined in configuration file :type setting: dict :param site_configs: Instance of SiteConfiguration class :type site_configs: buildtest.config.SiteConfiguration :param timeout: Test timeout in number of seconds :type timeout: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional :param account: Account to use for job submission :type account: str, optional :param maxpendtime: Maximum Pending Time until job is cancelled. The default is 1 day (86400s) :type maxpendtime: int, optional