RUSH RENDER QUEUE
(C) Copyright 1995,2000 Greg Ercolano. All rights reserved.
V 102.30 04/25/01
Strikeout text indicates features not yet implemented


Command Reference


 Submit Command Reference

Submit Commands
AutoDump 
Command
Cpus
Criteria 
DependOn 
DoneCommand 
DoneMail 
Frames
FrameFlags
ImgCommand 
LogDir
LogFlags 
MaxTime
NeverCpus
Nice
Notes
Priority
Ram
State
Title
WaitFor
Dump job on completion
Render script to execute
Hosts (or hostgroups) to use for rendering
Criteria for matching hosts
Set inter-job frame dependencies
Command to run when job done
Send mail when job done
Frame ranges to render
Disables the automatic clearing of the framelist
Command used to display images (in irush)
Directory for log files
Controls logfile behavior
Set maximum time for renders
Cpus to never use for rendering
nice(2) value for running frames (Unix only)
Job notes
Default priority
Ram job expects to use (max)
Initial state for job
Title for job
Wait for other jobs to complete

AutoDump
(rush -autodump)



Command
(rush -command)



Cpus
(rush -ac/-rc)



Criteria
(rush -criteria)

[erco@howland] % rush -lah
IP               Hostname   Ram  Cpus Pri Criteria
192.168.10.3     rotwang    100  2    0   +any,linux,linux6.0,intel,+dante
192.168.10.2     how        256  2    0   +any,sgi,irix,irix6.2
192.168.10.1     nt         256  1    0   +any,winnt,+dante
criteria ( linux | ( irix6 & octane ) )      # Use linux machines OR irix6 octanes.
criteria ( linux | irix6.2 ) # Only linux machines OR  irix6.2 machines.
criteria ( linux & !alpha ) # Use only linux machines that are NOT dec-alphas.
criteria ( linux & alpha & carrera ) # Use only carrera linux dec-alphas
criteria ( +any ) # Use all available machines
criteria ( !intel ) # Use all machines that are NOT intel based machines.


DependOn
(rush -dependon)



DoneCommand
(rush -donecommand)



DoneMail
(rush -donemail)



Frames
(rush -af/-rf)

The above example creates a frame list that looks like:

    [erco@howland]% rush -lf
    STAT FRAME TRY HOSTNAME PID   START          ELAPSED  NOTES
    Que  0001  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0002  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0003  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0004  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0005  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0006  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0007  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0008  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0009  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0010  0   -        0     00/00,00:00:00 00:00:00 Black
    Que  0011  0   -        0     00/00,00:00:00 00:00:00 Fade_up_on_sc17

Caveats:



FrameFlags



ImgCommand
(rush -imgcommand)



LogDir
(rush -logdir)



LogFlags
(rush -logflags)



MaxTime
(rush -maxtime)



NeverCpus
(rush -an/-rn)



Nice
(rush -nice)



Notes
(rush -notes)



Priority
(rush -priority)



Ram
(rush -ram)



State
(rush -pause/-cont)



Title
(rush -title)



WaitFor
(rush -waitfor)




Rush Command Line


Rush Command Line Arguments
-ac
-af
-an
-autodump
-checkconf
-checkhosts
-command
-cont
-cp
-criteria
-dcatlog
-deltaskfu
-dexit
-dexitnow
-dependon
-dlog
-done
-donecommand
-donemail
-down
-dump
-end
-fail
-fu
-getoff
-hold
-imgcommand
-jobnotes
-lac
-lacf
-lah
-lahf
-laj
-lajf
-lc
-lcf
-lf
-lff
-lfi
-lhg
-lhc
-lj
-ljf
-log
-logdir
-logflags
-maxtime
-nice
-notes
-offline
-online
-pause
-ping
-que
-ram
-rc
-reserve
-reorder
-rf
-rn
-rotate
-status
-submit
-tasklist
-title
-trs
-try
-tss
-uping
-waitfor
Add Cpus, adds to job cpus to use for rendering
Add Frames, adds new frames to a job
Add Nevercpus, adds to job names of cpus to never use
Automatically dump job on completion (done|donefail|-)
Checks a rush.conf file for errors
Checks a rush hosts file for errors
Sets job's command to run each frame
Continue a paused job
Change Priority for job's existing cpus
Sets criteria qualifiers for the job
Views the remote daemon's log file
Deletes a task from a job or from a cpu server
Tells a daemon to exit immediately via TCP
Tells a daemon to exit immediately via UDP
Makes a job dependent on frames in other job(s)
Enables certain daemon debug logging flags
Changes frames into the Done state
Sets command to run when job is done
Sets who to email when job is done
Tells rush a machine is down. 
Dumps a job, kills running frames
Ends a job, lets running frames complete
Changes frames into the Fail state
Allows you to change other people's jobs
Kills renders, offlines the cpus
Changes frames into the Hold state
Sets the command irush uses to display images
Changes the notes for the job
List All Cpus, lists status of all cpus on the net
List All Cpus Full, full report
List All Hosts, showing #cpus, ram, criteria, hostgroups
List All Hosts Full, full report
List All Jobs, all jobs on the network
List All Jobs Full, full report
List Cpus, all cpus requested by a job
List Cpus Full, full report
List Frames, shows the job's frame list
List Frames Full, full report
List Frame Info, a short report of render statistics
List Host Groups (new in 102.30f)
List Host Criteria (new in 102.30f)
List Jobs. Lists jobs on local or remote host(s)
List Jobs Full, full report
Shows the log file for frame(s) in job(s)
Changes the job's logging flags (keepall|keeplast|-)
Sets maximum time for rendering frames
Set job's unix nice(1) value
Changes notes field for specified frame(s)
Offlines the local or remote host from rendering
Onlines the local or remote host for rendering
Pauses the job
Pings the local or remote rush daemon(s) using TCP
Changes the default priority value
Requeues a frame
Changes the job's ram use value
Removes a cpu from the current job
Reserves cpus on local or remote machines
Reorders the frames in the frame list
Removes frames from the frame list
Removes 'nevercpus'
Rotates the local or remote daemon's log file
Status of jobs and cpus on local or remote hosts
Submits a job
Shows the list of scheduled tasks on local or remote host
Changes the title of the job
Shows the Template Render Script
Changes the Try count for frame(s)
Shows the Template Submit Script
Pings the local or remote rush daemon(s) using UDP
Make a job Wait For other jobs


rush -ac <cpuspec..> [jobid..]



rush -af <framerange..> [jobid..]



rush -an <hostname|+group..> [jobid..]



rush -autodump <off|done|donefail> [jobid..]



rush -checkconf <filename>



rush -checkhosts <filename>



rush -command 'cmd [args..]' [jobid..]



rush -cont [jobid..]



rush -cp [jobid..] <.JobTid [..]> <@pri>


% rush -lc
CPUSPEC[HOST]        STATE       FRM  PID     JOBTID  PRI   ELAPSED  NOTES
+any=10@100[vaio]    Busy        0007 1030    131     100   00:01:45 
+any=10@100[vaio]    Busy        0008 1031    132     100   00:01:45 
+any=10@100[tahoe]   Busy        0004 19829   133     100   00:00:05 
+any=10@100[tahoe]   Busy        0005 19831   134     100   00:00:05 

% rush -cp .131 .132 @350k
vaio.21 +any=10@100: priority was 100, now 350k
vaio.21 +any=10@100: priority was 100, now 350k

% rush -lc
CPUSPEC[HOST]        STATE       FRM  PID     JOBTID  PRI   ELAPSED  NOTES
+any=10@100[vaio]    Busy        0007 1030    131     350k  00:02:03 
+any=10@100[vaio]    Busy        0008 1031    132     350k  00:02:03 
+any=10@100[tahoe]   Busy        0004 19829   133     100   00:00:28 
+any=10@100[tahoe]   Busy        0005 19831   134     100   00:00:28 


rush -criteria 'criteria strings' [jobid..]



rush -dcatlog [host..]



rush -deltaskfu [..]



rush -dependon [-|depjobid[,..]]



rush -dexit [remotehost..]



rush -dexitnow [remotehost..]



rush -dlog <flags> [remotehost..]

Logging Flags


These are flags that can be used with rush -dlog, rushd -d, and the rush.conf file's LogFlags. These flags can be combined to accumulate logging verbosity. All flags can be enabled by specifying 'a'.
    a - all
    b - bump mechanism logging
    d - log duplicate/redundant receipt of packet drops
    e - events (time oriented, async)
    f - fork
    h - hostname lookups
    j - Log job submissions
    k - Log bumped/killed/usurped tasks
    l - Logical string evaluations
    o - connect()/open()/close()/bind()/socket() (low level)
    p - parse command line arguments, submit scripts
    m - memory calculations (RAM) during priority battles, etc
    n - network commands (udp/tcp)
    r - reboot management/transactions
    s - signals
    t - tcp
    u - udp
    w - 'waitfor' checks
    y - yp lookups
    C - class ToWords/FromWords
    F - File loading line-by-line debugging
    E - Errors not normally displayed (benign, but suspect)
    T - task/taskack transactions
    U - update (scheduling, priority mechanism, idle cpu management)
    R - Reaper msgs
    S - Server/Client context switches
    X - Random UDP message dropping -- TESTING ONLY!!
        ('a' does not affect this option, it must be specified) 



rush -done <framerange|framestate..> [jobid..]

% rush -done 1-100 # 'Done' frames 1 through 100
% rush -done fail # 'Done' all frames currently Fail
% rush -done fail que    # 'Done' all frames currently Fail or Que



rush -donecommand [jobid..] <command|-|>

% rush -donecommand "/bin/sleep 30"   # set donecommand to '/bin/sleep 30'
% rush -donecommand "-" # disable donecommand



rush -donemail [email[,email..]] [jobid..]



rush -down downhost[,downhost..] jobhost



rush -dump [jobid|user|user@host..]



rush -end [jobid..]



rush -fail <framerange|framestate..> [jobid..]

% rush -fail 1-100 # Fail frames 1 through 100
% rush -fail done # Fail all frames currently Done
% rush -fail done hold    # Fail all frames currently Done or Hold



rush -fu [option]

% rush -an vaio va-229 # Attempt to add 'vaio' as a nevercpu to someone's job
rush: va-229: you're not owner!   # Fails because you're not the job's owner
 
% rush -an vaio va-229 -fu         # Same command with -fu to force it...
Add nevercpu 'vaio' # ...now it works


rush -getoff [remotehost]



rush -hold <framerange|framestate..> [jobid..]

% rush -hold 1-100 # Hold frames 1 through 100
% rush -hold fail # Hold all frames currently Fail
% rush -hold fail done    # Hold all frames currently Fail or Done



rush -imgcommand '<command [args..]>' [jobid..]



rush -jobnotes '<notes>' [jobid..]



rush -lac [-s secs] [-c count]



rush -lacf



rush -lah [hostname..]



rush -lahf [hostname..]



rush -laj [-s secs] [-c count]




rush -lajf



rush -lc [jobid..]

% rush -lc           # List Cpus assigned to the current job
CPUSPEC[HOST]        STATE       FRM  PID     JOBTID  ELAPSED  NOTES
huron=4@800k         JobPass     -    -       178     00:00:00 This is a 'neverhost'
huron=4@800k         JobPass     -    -       179     00:00:00 This is a 'neverhost'
huron=4@800k         JobPass     -    -       180     00:00:00 This is a 'neverhost'
huron=4@800k         JobPass     -    -       181     00:00:00 This is a 'neverhost'
+any=10@100[howland] Busy        0080 14733   165     00:00:01 
+any=10@100[howland] Busy        0078 14731   166     00:00:01 
+any=10@100[howland] Busy        0079 14732   167     00:00:01 
+any=10@100[toronto] Idle/Nak    -    -       171     00:00:00 -
+any=10@100[toronto] Idle/Nak    -    -       172     00:00:00 -
+any=10@100[toronto] Idle/Nak    -    -       173     00:00:00 -
+any=10@100[vaio]    Busy        0074 4107    174     00:00:03 
+any=10@100[vaio]    Busy        0071 4100    175     00:00:03 
+any=10@100[vaio]    Busy        0072 4101    176     00:00:03 
+any=10@100[vaio]    Busy        0073 4106    177     00:00:03 

List Cpus Heading

Heading

Description

CPUSPEC[HOST] The cpu specification supplied by the user during submit. If hostgroups are specified (i.e. +any), the group is broken out into individual cpus, with the hostname of each processor shown in [brackets].
STATE The state the cpu's 'task reservation' is in. In the following, 'cpuserver' means the remote host serving the cpu.
    Idle	--  task idle, waiting for cpuserver 
    Idle/Nak	--  job is still trying to reach the cpuserver
    Avail	--  cpuserver wants us to run a frame 
    Start	--  found frame to start, reply to cpuserver 
    Run		--  cpuserver telling us frame started ok 
    Busy	--  frame is busy, reply to cpuserver 
    CpuPass2	--  replies to cpuserver, remains in state
    JobPass	--  job told cpuserver we can't use its cpu (see NOTES for why)
    Unpass	--  remote reverting to idle state (cosmetic)

FRAME The frame that is being rendered.
PID The process id on HOST for the running render script. This is also the 'process group leader'.
JOBTID The 'job task id' for this processor. Only useful as an argument commands like 'rush -rc'.
ELAPSED The wall clock elapsed time in hours:minutes:seconds for the rendering frame.
NOTES Various notes regarding the state of the job. These notes can sometimes be stale; the 'STATE' information is a more accurate representation of the state of the cpu.



rush -lcf [jobid..]



rush -lf [jobid..]




rush -lff [jobid..]



rush -lfi [jobid..]



rush -lhg [+hostgroup..]




rush -lhc [criteria..]




rush -lj [remotehost..]




rush -ljf [jobid..]




rush -log <framerange..> [jobid..]




rush -logdir pathname [jobid..]



rush -logflags <-|keeplast|keepall> [jobid..]



rush -maxtime <hh:mm:ss> [jobid..]



rush -nice <niceval> [jobid..]



rush -notes <framerange>:'notes..' [jobid..]

rush -notes 155:"license error"   # set notes for frame 155 to 'license error'
rush -notes 200-250:"redo" # set notes for frames 200 thru 250 to "redo"



rush -offline [remotehost|+group..]

rush -offline   # offline all cpus on local host
rush -offline tahoe # offline all of tahoe's cpus
TT>rush -offline +farm   # offline the entire render farm


rush -online [remotehost|+group..]



rush -pause [jobid..]



rush -ping [remotehost|+group..]



rush -priority [jobid..]



rush -que <framerange|framestate..> [jobid..]

% rush -que 1-100 # Que frames 1 through 100
% rush -que fail # Que all frames currently Fail
% rush -que fail done    # Que all frames currently Fail or Done



rush -ram <ramval> [jobid..]



rush -rc <cpuspec|tidspec|hostname> [jobid..]

% rush -ac tahoe@100 # Add a cpu.
% rush -rc tahoe@100 # Now try to remove it
'tahoe@100' no such cpu specification # FAILED: need to use spec shown in 'rush -lc'
 
% rush -lc # Look at 'rush -lc' report
CPUSPEC      STATE  FRM   PID    ELAPSED .. 
tahoe=1@100  Run   0002  26747  00:00:11 ..    
# More complete specification in report.
 
% rush -rc tahoe=1@100 # Remove using spec shown in report
'tahoe=1@100' removed. # It works



rush -reserve <cpuspec> [ramval]

rush -reserve tahoe@998 # Reserve 1 cpu on tahoe@998
rush -reserve tahoe=2@998 128    # Reserve 2 cpus @998, 128MB of ram to each
rush -reserve tahoe=2@500 128 # Reserve 2 cpus @500, 128MB of ram to each



rush -reorder <framerange..> [jobid..]

rush -reorder 10-1 # becomes 10 9 8 7 6 5 4 3 2 1
rush -reorder 1-10,2 2-10,2      # becomes 1 3 5 7 9   2 4 6 8 10



rush -rf <framerange..> [jobid..]



rush -rn <hostname|+group..> [jobid..]



rush -rotate [remotehost|+group..]



rush -status [-s secs] [-c count] [remhost|+hostgroup..]



rush -submit [remotehost]



rush -tasklist [remotehost..]



rush -title <text> [jobid..]



rush -trs



rush -try <count> <framerange..> [jobid..]




rush -tss



rush -uping [-c count] [remotehost..]



rush [jobid] -waitfor [-|waitjobid,[..,..]]