Class JobDescription

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public final class JobDescription
    extends java.lang.Object
    implements java.lang.Cloneable, java.io.Serializable
    The JobDescription class represents a job to be verified by the JSV. It contains the values of all submissions attributes applied to the job as well as the job's environment variables' values if requested. All properties of this class may be null. A property with a null value indicates that the value was not set by the JSV framework, and hence was not a submission attribute of the job being verified. Care must be taken with the Boolean and Integer properties to prevent null pointer exceptions caused by autoboxing. Setting a property value to null deletes the corresponding submission attribute from the job being verified. All properties of Collection type return copies of the Collection from their getter methods. In order to make changes to the contents of the Collection, the corresponding setter method must be called. It is acceptable to make the changes to the Collection instance returned from the getter method and then commit those changes by passing that Collection instance to the setter method. The JobDescription class uses the Logger named "com.sun.grid.Jsv". By default the Logger is set not to pass log records to its parent logger because the default Logger writes to stdout and would disrupt the JSV protocol. By default, the Logger has no handlers installed. In order to enable logging, add a handler, i.e. a FileHandler instance. It is always a good idea to enabling logging, as errors in JSV protocol handling will be logged as warnings, but will not be visible any other way.
    Since:
    6.2u5
    See Also:
    JsvManager.requestEnvironment(boolean), Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  JobDescription.Verification
      The possible values for the verification property.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CLIENT_CONTEXT
      String value of the context property that indicates the JSV is running on the master node.
      static java.lang.String MASTER_CLIENT
      String value of the client property that indicates the JSV is running on the master node.
      static java.lang.String MASTER_CONTEXT
      String value of the context property that indicates the JSV is running on the master node.
    • Constructor Summary

      Constructors 
      Constructor Description
      JobDescription()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected JobDescription clone()  
      java.lang.Boolean doNotify()
      Get whether the job should be sent warning signals before being suspended or terminated.
      java.lang.String getAccount()
      Get the account string.
      java.lang.Integer getAdvanceReservationId()
      Get the advance reservation id.
      BindingSpecifier getBindingSpecifier()
      Get the BindingSpecifier object that represents the core binding settings for the job.
      CheckpointSpecifier getCheckpointSpecifier()
      Get an object representing the checkpointing options.
      java.lang.String getClient()
      Get the client string.
      java.lang.String[] getCommandArgs()
      Get the arguments to the job.
      java.lang.String getCommandName()
      Get the job command.
      java.lang.String getContext()
      Get the context string.
      java.util.Calendar getDeadline()
      Get the job's deadline time.
      java.lang.String getDisplay()
      Get the job's display value.
      java.util.Map<java.lang.String,​java.lang.String> getEnvironment()
      Get the job's environment variables.
      java.util.Map<java.lang.String,​java.lang.String> getErrorPath()
      Get the job's error path.
      java.lang.String getGroup()
      Get the primary group id for the job's submitter.
      java.util.List<java.lang.String> getHardQueue()
      Get the hard queue list.
      java.util.Map<java.lang.String,​java.lang.String> getHardResourceRequirements()
      Get the hard resource requirements.
      java.util.List<java.lang.String> getHoldArrayJobIds()
      Get the list of array job identifiers on which this job's array tasks are dependent.
      java.util.List<java.lang.String> getHoldJobIds()
      Get the list of job identifiers on which this job is dependent.
      java.util.Map<java.lang.String,​java.lang.String> getInputPath()
      Get the job's input path.
      java.util.Map<java.lang.String,​java.lang.String> getJobContext()
      Get the job's job context map.
      java.lang.String getJobId()
      Get the job's id
      java.lang.Integer getJobShare()
      Get the job's assigned functional ticket share.
      java.util.List<java.lang.String> getMailRecipients()
      Get the list of email recipients for this job.
      MailSpecifier getMailSpecifier()
      Get a MailSpecifier object that represents the occasions when email notifications should be sent for this job.
      java.util.List<java.lang.String> getMasterQueue()
      Get the master queue list.
      java.lang.String getName()
      Get the job's name.
      java.util.Map<java.lang.String,​java.lang.String> getOutputPath()
      Get the job's output path.
      ParallelEnvironment getParallelEnvironment()
      Get the ParallelEnvironment object that represents the parallel environment settings for the job.
      java.lang.Integer getPriority()
      Get the job's priority.
      java.lang.String getProject()
      Get the job's project See qsub -P.
      java.util.Map<java.lang.String,​java.lang.String> getShellPath()
      Get the shell path list.
      java.util.List<java.lang.String> getSoftQueue()
      Get the soft queue list.
      java.util.Map<java.lang.String,​java.lang.String> getSoftResourceRequirements()
      Get the soft resource requirements map.
      java.util.Calendar getStartTime()
      Get the job's start time.
      TaskSpecifier getTaskSpecifier()
      Get the object that represents the array task specifier.
      java.lang.String getUser()
      Get the submitting user.
      JobDescription.Verification getVerification()
      Get the verification level.
      java.lang.String getVersion()
      Get the JSV framework version.
      java.lang.String getWorkingDirectory()
      Get the working directory for the job See qsub -cwd -wd.
      java.lang.Boolean hasResourceReservation()
      Get whether the job uses resource reservation.
      java.lang.Boolean isBinary()
      Get whether the job is binary.
      java.lang.Boolean isRerunnable()
      Get whether the job can be requeued during execd failure.
      java.lang.Boolean mergeStreams()
      Get whether the output and error streams should be written into the same file.
      java.lang.Boolean onHold()
      Get whether the job is submitted in the hold state.
      void setAccount​(java.lang.String account)
      Set the value of the account string.
      void setAdvanceReservationId​(java.lang.Integer advanceReservationId)
      Set the value of the advance reservation id.
      void setBinary​(java.lang.Boolean binary)
      Set whether the job is binary.
      void setBindingSpecifier​(BindingSpecifier binding)
      Set the BindingSpecifier object that represents the job to core binding settings.
      void setCheckpointSpecifier​(CheckpointSpecifier checkpointSpecifier)
      Set the CheckpointSpecifier object that defines the checkpointing settings for the job.
      void setCommandArgs​(java.lang.String[] commandArgs)
      Set the job's command arguments.
      void setDeadline​(java.util.Calendar deadline)
      Set the deadline time.
      void setDisplay​(java.lang.String display)
      Set the display string.
      void setEnvironment​(java.util.Map<java.lang.String,​java.lang.String> environment)
      Set the job's environment variable.
      void setErrorPath​(java.util.Map<java.lang.String,​java.lang.String> path)
      Set the error path.
      void setHardQueue​(java.util.List<java.lang.String> queues)
      Set the hard queue list.
      void setHardResourceRequirements​(java.util.Map<java.lang.String,​java.lang.String> resources)
      Set the hard resource requirements map.
      void setHold​(java.lang.Boolean hold)
      Set whether the job should be submitted in hold state.
      void setHoldArrayJobIds​(java.util.List<java.lang.String> jobIds)
      Set the list of array job identifiers on which the job tasks depened.
      void setHoldJobIds​(java.util.List<java.lang.String> jobIds)
      Set the list of job identifiers on which the job depeneds.
      void setInputPath​(java.util.Map<java.lang.String,​java.lang.String> path)
      Set the input path.
      void setJobContext​(java.util.Map<java.lang.String,​java.lang.String> context)
      Set the job's context.
      void setJobShare​(java.lang.Integer jobShare)
      Set the job's functional ticket share See qsub -js.
      void setMailRecipients​(java.util.List<java.lang.String> recipients)
      Set the list of email recipients to be notified on job events.
      void setMailSpecifier​(MailSpecifier mailSpecifier)
      Set the MailSpecifier object that represents when email notifications should be sent.
      void setMasterQueue​(java.util.List<java.lang.String> queues)
      Set the master queue list.
      void setMergeStreams​(java.lang.Boolean mergeStreams)
      Set whether the output and error streams should be merged.
      void setName​(java.lang.String name)
      Set the job's name.
      void setNotify​(java.lang.Boolean notify)
      Set whether the job should be sent warning signals before being suspended or terminated.
      void setOutputPath​(java.util.Map<java.lang.String,​java.lang.String> path)
      Set the output path.
      void setParallelEnvironment​(ParallelEnvironment pe)
      Set the ParallelEnvironment object that represent's the job's PE settings.
      void setPriority​(java.lang.Integer priority)
      Set the job's priority.
      void setProject​(java.lang.String project)
      Set the job's project.
      void setRerunnable​(java.lang.Boolean rerunnable)
      Set whether the job can be requeued in the event of execd failure.
      void setResourceReservation​(java.lang.Boolean reservation)
      Set whether the job should use resource reservation.
      void setShell​(java.lang.Boolean shell)
      Set whether the job should be launched by a shell.
      void setShellPath​(java.util.Map<java.lang.String,​java.lang.String> path)
      Set the job's shell path.
      void setSoftQueue​(java.util.List<java.lang.String> queues)
      Set the job's soft queue list See qsub -soft -q.
      void setSoftResourceRequirements​(java.util.Map<java.lang.String,​java.lang.String> resources)
      Set the job's soft resource requirements map.
      void setStartTime​(java.util.Calendar startTime)
      Set the job's start time.
      void setTaskSpecifier​(TaskSpecifier taskSpecifier)
      Set the TaskSpecifier object that defines the job's array task settings.
      void setVerification​(JobDescription.Verification verification)
      Set the job's verification level.
      void setWorkingDirectory​(java.lang.String cwd)
      Set the working directory.
      java.lang.Boolean useShell()
      Get whether the job should be launched via a shell.
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MASTER_CLIENT

        public static final java.lang.String MASTER_CLIENT
        String value of the client property that indicates the JSV is running on the master node.
        See Also:
        getClient(), Constant Field Values
      • MASTER_CONTEXT

        public static final java.lang.String MASTER_CONTEXT
        String value of the context property that indicates the JSV is running on the master node.
        See Also:
        getContext(), Constant Field Values
      • CLIENT_CONTEXT

        public static final java.lang.String CLIENT_CONTEXT
        String value of the context property that indicates the JSV is running on the master node.
        See Also:
        getContext(), Constant Field Values
    • Constructor Detail

      • JobDescription

        public JobDescription()
    • Method Detail

      • getAccount

        public java.lang.String getAccount()
        Get the account string. See qsub -A.
        Returns:
        the account string
      • getAdvanceReservationId

        public java.lang.Integer getAdvanceReservationId()
        Get the advance reservation id. Note that the return value will be null if the advance reservation id has not been set. See qsub -ar.
        Returns:
        the advance reservation id
      • getCheckpointSpecifier

        public CheckpointSpecifier getCheckpointSpecifier()
        Get an object representing the checkpointing options. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance.
        Returns:
        the checkpointing options See qsub -ckpt -c.
        See Also:
        CheckpointSpecifier
      • getClient

        public java.lang.String getClient()
        Get the client string. If the JSV is running on the master node, the value of this string will be "qmaster". If the JSV is running on the submission client node, the value of this string will be the name of the submission utility, e.g. qsub, qrsh, etc.
        Returns:
        the client string
        See Also:
        MASTER_CLIENT
      • getCommandArgs

        public java.lang.String[] getCommandArgs()
        Get the arguments to the job. The array that is returned will be a copy of the internal command arguments array, so modifications to the returned value will have no effect on the JobDescription instance.
        Returns:
        the job arguments
      • getCommandName

        public java.lang.String getCommandName()
        Get the job command.
        Returns:
        the job command
      • getContext

        public java.lang.String getContext()
        Get the context string. If the JSV is running on the master node, the value of this string will be "master". If the JSV is running on the submission client node, the value of this string will be "client".
        Returns:
        the context string
        See Also:
        MASTER_CONTEXT, CLIENT_CONTEXT
      • getWorkingDirectory

        public java.lang.String getWorkingDirectory()
        Get the working directory for the job See qsub -cwd -wd.
        Returns:
        the working directory
      • getDeadline

        public java.util.Calendar getDeadline()
        Get the job's deadline time. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -dl.
        Returns:
        the deadline time
      • getDisplay

        public java.lang.String getDisplay()
        Get the job's display value. See qsub -display.
        Returns:
        the display value
      • getErrorPath

        public java.util.Map<java.lang.String,​java.lang.String> getErrorPath()
        Get the job's error path. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -e.
        Returns:
        the error path
      • getGroup

        public java.lang.String getGroup()
        Get the primary group id for the job's submitter.
        Returns:
        the group id
      • getHardQueue

        public java.util.List<java.lang.String> getHardQueue()
        Get the hard queue list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hard -q.
        Returns:
        the hard queue list
      • getHardResourceRequirements

        public java.util.Map<java.lang.String,​java.lang.String> getHardResourceRequirements()
        Get the hard resource requirements. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hard -l.
        Returns:
        the hard resource requirements
      • getHoldArrayJobIds

        public java.util.List<java.lang.String> getHoldArrayJobIds()
        Get the list of array job identifiers on which this job's array tasks are dependent. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hold_jid_ad.
        Returns:
        the array job dependencies
      • getHoldJobIds

        public java.util.List<java.lang.String> getHoldJobIds()
        Get the list of job identifiers on which this job is dependent. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -hold_jid.
        Returns:
        the job dependencies
      • getInputPath

        public java.util.Map<java.lang.String,​java.lang.String> getInputPath()
        Get the job's input path. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -i.
        Returns:
        the input path
      • getJobContext

        public java.util.Map<java.lang.String,​java.lang.String> getJobContext()
        Get the job's job context map. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -ac -dc -sc.
        Returns:
        the job context
      • getJobId

        public java.lang.String getJobId()
        Get the job's id
        Returns:
        the job id
      • getJobShare

        public java.lang.Integer getJobShare()
        Get the job's assigned functional ticket share. Note that the return value will be null if the value has not been set. See qsub -js.
        Returns:
        the job share
      • getMailRecipients

        public java.util.List<java.lang.String> getMailRecipients()
        Get the list of email recipients for this job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -M.
        Returns:
        the email recipient list
      • getMailSpecifier

        public MailSpecifier getMailSpecifier()
        Get a MailSpecifier object that represents the occasions when email notifications should be sent for this job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -m.
        Returns:
        the mail specifier
        See Also:
        MailSpecifier
      • getMasterQueue

        public java.util.List<java.lang.String> getMasterQueue()
        Get the master queue list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -masterq.
        Returns:
        the master queue list
      • getName

        public java.lang.String getName()
        Get the job's name.
        Returns:
        the job name
      • getOutputPath

        public java.util.Map<java.lang.String,​java.lang.String> getOutputPath()
        Get the job's output path. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -o.
        Returns:
        the output path
      • getParallelEnvironment

        public ParallelEnvironment getParallelEnvironment()
        Get the ParallelEnvironment object that represents the parallel environment settings for the job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -pe.
        Returns:
        the pe specification
        See Also:
        ParallelEnvironment
      • getBindingSpecifier

        public BindingSpecifier getBindingSpecifier()
        Get the BindingSpecifier object that represents the core binding settings for the job. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -binding.
        Returns:
        the binding specification
        See Also:
        BindingSpecifier
      • getPriority

        public java.lang.Integer getPriority()
        Get the job's priority. Note that the return value will be null if the value has not been set. See qsub -p.
        Returns:
        the job priority
      • getProject

        public java.lang.String getProject()
        Get the job's project See qsub -P.
        Returns:
        the job project
      • getShellPath

        public java.util.Map<java.lang.String,​java.lang.String> getShellPath()
        Get the shell path list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -S.
        Returns:
        the shell path list
      • getSoftQueue

        public java.util.List<java.lang.String> getSoftQueue()
        Get the soft queue list. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -soft -q.
        Returns:
        the soft queue list
      • getSoftResourceRequirements

        public java.util.Map<java.lang.String,​java.lang.String> getSoftResourceRequirements()
        Get the soft resource requirements map. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -soft -l.
        Returns:
        the soft requirements map
      • getStartTime

        public java.util.Calendar getStartTime()
        Get the job's start time. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -a.
        Returns:
        the start time
      • getTaskSpecifier

        public TaskSpecifier getTaskSpecifier()
        Get the object that represents the array task specifier. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -t.
        Returns:
        the array task specifier
        See Also:
        TaskSpecifier
      • getUser

        public java.lang.String getUser()
        Get the submitting user.
        Returns:
        the submitting user
      • getVerification

        public JobDescription.Verification getVerification()
        Get the verification level. See qsub -w.
        Returns:
        the verification level
      • getVersion

        public java.lang.String getVersion()
        Get the JSV framework version.
        Returns:
        the JSV version
      • useShell

        public java.lang.Boolean useShell()
        Get whether the job should be launched via a shell. Note that the return value will be null if the value has not been set. See qsub -shell.
        Returns:
        whether to use a shell
      • hasResourceReservation

        public java.lang.Boolean hasResourceReservation()
        Get whether the job uses resource reservation. Note that the return value will be null if the value has not been set. See qsub -R.
        Returns:
        whether to use resource reservation
      • isRerunnable

        public java.lang.Boolean isRerunnable()
        Get whether the job can be requeued during execd failure. Note that the return value will be null if the value has not been set. See qsub -r.
        Returns:
        whether the job can be requeued
      • doNotify

        public java.lang.Boolean doNotify()
        Get whether the job should be sent warning signals before being suspended or terminated. Note that the return value will be null if the value has not been set. See qsub -notify.
        Returns:
        whether the job should get warning signals
      • mergeStreams

        public java.lang.Boolean mergeStreams()
        Get whether the output and error streams should be written into the same file. Note that the return value will be null if the value has not been set. See qsub -j.
        Returns:
        whether to merge the streams
      • onHold

        public java.lang.Boolean onHold()
        Get whether the job is submitted in the hold state. Note that the return value will be null if the value has not been set. See qsub -h.
        Returns:
        whether the job is submitted in the hold state
      • isBinary

        public java.lang.Boolean isBinary()
        Get whether the job is binary. A true value means the job is treated as a binary. A false value means the job is treated as a script. Note that the return value will be null if the value has not been set. See qsub -b.
        Returns:
        whether the job is binary
      • getEnvironment

        public java.util.Map<java.lang.String,​java.lang.String> getEnvironment()
        Get the job's environment variables. The object that is returned will be a copy of the internal object, so modifications to the returned object will have no effect on the JobDescription instance. See qsub -v.
        Returns:
        the environment variables
      • setAccount

        public void setAccount​(java.lang.String account)
        Set the value of the account string. See qsub -A.
        Parameters:
        account - the account string
      • setAdvanceReservationId

        public void setAdvanceReservationId​(java.lang.Integer advanceReservationId)
        Set the value of the advance reservation id. See qsub -ar.
        Parameters:
        advanceReservationId - the advance reservation id
      • setBinary

        public void setBinary​(java.lang.Boolean binary)
        Set whether the job is binary. See qsub -b.
        Parameters:
        binary - whether the job is binary
      • setCheckpointSpecifier

        public void setCheckpointSpecifier​(CheckpointSpecifier checkpointSpecifier)
        Set the CheckpointSpecifier object that defines the checkpointing settings for the job. See qsub -ckpt -c.
        Parameters:
        checkpointSpecifier - the schpoint specifier
        See Also:
        CheckpointSpecifier
      • setCommandArgs

        public void setCommandArgs​(java.lang.String[] commandArgs)
        Set the job's command arguments.
        Parameters:
        commandArgs - the new command arguments
      • setWorkingDirectory

        public void setWorkingDirectory​(java.lang.String cwd)
        Set the working directory. See qsub -wd -cwd.
        Parameters:
        cwd - the working directory
      • setDeadline

        public void setDeadline​(java.util.Calendar deadline)
        Set the deadline time. See qsub -dl.
        Parameters:
        deadline - the deadline time
      • setDisplay

        public void setDisplay​(java.lang.String display)
        Set the display string. See qsub -display.
        Parameters:
        display - the display string
      • setErrorPath

        public void setErrorPath​(java.util.Map<java.lang.String,​java.lang.String> path)
        Set the error path. See qsub -e.
        Parameters:
        path - the error path
      • setHardQueue

        public void setHardQueue​(java.util.List<java.lang.String> queues)
        Set the hard queue list. See qsub -hard -q.
        Parameters:
        queues - the hard queue list
      • setHardResourceRequirements

        public void setHardResourceRequirements​(java.util.Map<java.lang.String,​java.lang.String> resources)
        Set the hard resource requirements map. See qsub -hard -l.
        Parameters:
        resources - the hard resource requirements
      • setHold

        public void setHold​(java.lang.Boolean hold)
        Set whether the job should be submitted in hold state. See qsub -h.
        Parameters:
        hold - whether the job should be submitted in hold state
      • setHoldJobIds

        public void setHoldJobIds​(java.util.List<java.lang.String> jobIds)
        Set the list of job identifiers on which the job depeneds. See qsub -hold_jid.
        Parameters:
        jobIds - the job dependency list
      • setHoldArrayJobIds

        public void setHoldArrayJobIds​(java.util.List<java.lang.String> jobIds)
        Set the list of array job identifiers on which the job tasks depened. See qsub -hold_jid_ad.
        Parameters:
        jobIds - the array job dependency list
      • setInputPath

        public void setInputPath​(java.util.Map<java.lang.String,​java.lang.String> path)
        Set the input path. See qsub -i.
        Parameters:
        path - the error path
      • setJobContext

        public void setJobContext​(java.util.Map<java.lang.String,​java.lang.String> context)
        Set the job's context. See qsub -ac -dc -sc.
        Parameters:
        context - the job context
      • setJobShare

        public void setJobShare​(java.lang.Integer jobShare)
        Set the job's functional ticket share See qsub -js.
        Parameters:
        jobShare - the job share
      • setMailRecipients

        public void setMailRecipients​(java.util.List<java.lang.String> recipients)
        Set the list of email recipients to be notified on job events. See qsub -M.
        Parameters:
        recipients - the email list
      • setMailSpecifier

        public void setMailSpecifier​(MailSpecifier mailSpecifier)
        Set the MailSpecifier object that represents when email notifications should be sent. See qsub -m.
        Parameters:
        mailSpecifier -
        See Also:
        MailSpecifier
      • setMasterQueue

        public void setMasterQueue​(java.util.List<java.lang.String> queues)
        Set the master queue list. See qsub -masterq.
        Parameters:
        queues - the master queue list
      • setMergeStreams

        public void setMergeStreams​(java.lang.Boolean mergeStreams)
        Set whether the output and error streams should be merged. See qsub -j.
        Parameters:
        mergeStreams - whether to merge the streams
      • setName

        public void setName​(java.lang.String name)
        Set the job's name. See qsub -N.
        Parameters:
        name - the job name
      • setNotify

        public void setNotify​(java.lang.Boolean notify)
        Set whether the job should be sent warning signals before being suspended or terminated. See qsub -notify.
        Parameters:
        notify - whether the job shoud receive warning signals
      • setOutputPath

        public void setOutputPath​(java.util.Map<java.lang.String,​java.lang.String> path)
        Set the output path. See qsub -o.
        Parameters:
        path - the output path
      • setParallelEnvironment

        public void setParallelEnvironment​(ParallelEnvironment pe)
        Set the ParallelEnvironment object that represent's the job's PE settings. See qsub -pe.
        Parameters:
        pe - the job PE
        See Also:
        ParallelEnvironment
      • setBindingSpecifier

        public void setBindingSpecifier​(BindingSpecifier binding)
        Set the BindingSpecifier object that represents the job to core binding settings. See qsub -binding.
        Parameters:
        binding - the job binding
        See Also:
        BindingSpecifier
      • setPriority

        public void setPriority​(java.lang.Integer priority)
        Set the job's priority. See qsub -p.
        Parameters:
        priority - the job priority
      • setProject

        public void setProject​(java.lang.String project)
        Set the job's project. See qsub -P.
        Parameters:
        project - the job project
      • setRerunnable

        public void setRerunnable​(java.lang.Boolean rerunnable)
        Set whether the job can be requeued in the event of execd failure. See qsub -R.
        Parameters:
        rerunnable - whether the job can be requeued
      • setResourceReservation

        public void setResourceReservation​(java.lang.Boolean reservation)
        Set whether the job should use resource reservation. See qsub -r.
        Parameters:
        reservation - whether the job should use resource reservation
      • setShell

        public void setShell​(java.lang.Boolean shell)
        Set whether the job should be launched by a shell. See qsub -shell.
        Parameters:
        shell - whether the job should use a shell
      • setShellPath

        public void setShellPath​(java.util.Map<java.lang.String,​java.lang.String> path)
        Set the job's shell path. See qsub -S.
        Parameters:
        path - the shell path
      • setSoftQueue

        public void setSoftQueue​(java.util.List<java.lang.String> queues)
        Set the job's soft queue list See qsub -soft -q.
        Parameters:
        queues - the soft queue list
      • setSoftResourceRequirements

        public void setSoftResourceRequirements​(java.util.Map<java.lang.String,​java.lang.String> resources)
        Set the job's soft resource requirements map. See qsub -soft -l.
        Parameters:
        resources - the soft resource requirements
      • setStartTime

        public void setStartTime​(java.util.Calendar startTime)
        Set the job's start time. See qsub -a.
        Parameters:
        startTime - the start time
      • setTaskSpecifier

        public void setTaskSpecifier​(TaskSpecifier taskSpecifier)
        Set the TaskSpecifier object that defines the job's array task settings. See qsub -t.
        Parameters:
        taskSpecifier - the task specifier
        See Also:
        TaskSpecifier
      • setVerification

        public void setVerification​(JobDescription.Verification verification)
        Set the job's verification level. See qsub -w.
        Parameters:
        verification - the verification level
      • setEnvironment

        public void setEnvironment​(java.util.Map<java.lang.String,​java.lang.String> environment)
        Set the job's environment variable. See qsub -v.
        Parameters:
        environment - the environment variables
      • clone

        protected JobDescription clone()
        Overrides:
        clone in class java.lang.Object