Usage: VovPreemptRule -rulename NAME [OPTIONS]

    -pool             POOLNAME    -- The rule belongs to a pool of rules.
                                     At most one preemption can occur for each pool
                                     in each preemption cycle (default: mainpool)
    -rulename         NAME        -- Required.
    -ruletype         TYPE        -- The type of preemption rule. Allowed values are
                                     GENERIC, FAST_FAIRSHARE, MULTIQUEUE, RESERVE_RESOURCES,
                                     RESERVE_SLAVES, and FREE_SLAVES (default: GENERIC)
    -order            INTEGER     -- Specify the order of evaluation of rules within the same pool.
                                     Rules are evaluated from low to high order.  If not specified
                                     the order is assigned automatically based on order of declaration.
                                     Typical range is small positives from 0 to 1000, but the order
                                     can be any integer.
    -enabled          BOOL        -- To enable and disable the rule.
    -enable           BOOL        -- Same as -enabled (obsolete).
    -debug            BOOL        -- To control debugging flag for this rule.
    -fireonce         BOOL        -- To control the fire-once flag.
    -preempting       SELRULE     -- A selection rule for the top job in a bucket.
    -waitingfor       RESLIST     -- If set, the top job in the bucket must be waiting
                                     for at least one of the
                                     given resources in order to trigger a preemption.
                                     If the RESLIST contains the string 'HW', then
                                     preemption is triggered if a job waits for a slot.
    -bucketage        TIMESPEC    -- Only apply the preemption if the bucket age
                                     is greater than the specified value.

    -multiqueueres    RESLIST     -- Trigger preemption if a multiqueue resource (rank>20)
                                     is imbalanced.
    -mqthresh        THRESHOLD    -- Percent reduction in MQ allocation that triggers
                                     preemption. Default 0.1=10%

    -donotdisturb     TIMESPEC   -- Do not preempt a job that was a top-job (i.e. a job
                                    that triggered some preemption) for at least the specified
                                    time (default 10m)
    -preemptable      SELRULE    -- A selection rule for the running jobs
                                    that should be preempted.  Any field of the
                                    form @FIELD@ is replaced by the corresponding
                                    value for the top job in the bucket.

    -preemptslavespec SPEC       -- If preempting job is waiting for hardware,
                                    preempt slaves that match the given SPEC. 
                                    The SPEC may include "SlaveList:NAMEOFSLAVELIST"
                                    and selection rules for slaves, like "HOSTNAME=lnx01,lnx02 RANDOM>5000"
                                    Used for FREE_SLAVES rules.
    -preemptslavenum  N          -- For FREE_SLAVES rules, how many slaves to preempt for each bucket
                                    that matches the preempting rule. In any case, we never preempt more
                                    slaves than there are jobs in the bucket. Default is 1.
                                    Use a higher number if you are preempting many jobs for better performance.

    -killage          TIMESPEC   -- Jobs younger than this age are simply killed
                                    and resubmitted.  Limited to 7 days max and default
                                    is 0 which implies that killage is not used.
    -method           METHOD     -- The method to be used to recover license
                                    resources from the job. Allowed values are
                                    SUSPEND, LMREMOVE, RESERVE, AUTOMATIC.
                                    If AUTOMATIC, then each license is removed using
                                    the specific method defined with VovPreemptMethod.
                                    Default: AUTOMATIC
    -skipresumedjob   TIMESPEC   -- Do not preempt jobs that have been resumed
                                    no more than TIMESPEC ago.
                                    Default: 2m

    -reservetime      TIMESPEC   -- How long resources should be reserved for the
                                    top job when attempting preemption (default 20)
    -reservetype      RESTYPE    -- Deprecated. Use reservefor.
    -reservenum       N          -- How many slaves are to be reserved for RESERVE_SLAVES rule type.
                                    Default: 1
    -reserveslave     SLAVENAMES -- If a job is waiting for hardware, this is a space-separated list
                                    of slaves to reserve for the job.  It is also possible to include
                                    a slave list by using the keyword 'SlaveList:NAME_OF_SLAVE_LIST'.
                                    -preemptslavespec is used if the field is empty.
    -reservefor       RESSPEC    -- Specify how to reserve a slave. The RESSPEC is
                                    a space-separated list of KEY VALUE, where KEY is
                                    one of BUCKET USER GROUP JOBCLASS JOBPROJ OSGROUP JOBID and VALUE
                                    is a comma-separated list of values (also symbolic like @USER@).
                                    VALUE of BUCKET and JOBID entered here is ignored and 
                                    preempting job ID and bucket ID are used.
                                    Default is BUCKET.

    -resumeres        RESLIST    -- List of resources to append to the resumer job.
                                    RESLIST can contain field references (e.g. @HOST@)
                                    which are taken from the preempted job.
    -resumedelay      TIMESPEC   -- Set the minimum delay before executing the resumer job,
                                    where TIMESPEC is the span of time between job
                                    suspension and future time when the resumer job
                                    will be considered for scheduling again.
                                    Default: 5s

    -numjobs          N          -- The maximum number of jobs preempted per bucket per
                                    preemption cycle.
    -maxattempts      N          -- The maximum number of attempts to match the rule for a
                                    preempting job. Setting this to zero (0) disables the check
                                    meaning that the rule can be matched an unlimited number of times
                                    which is useful for example for RESERVE_* type rules.
    -sortjobsby       N          -- Criteria to sort/order potential preemptable jobs.
                                    Format is:
                                    <fieldname> [ASC|DESC] [, <fieldname> [ASC|DESC]]*.
                                    Default is 'PRIORITY ASC, AGE ASC'.