RUSH Glossary
(C) Copyright 2012 Greg Ercolano. All rights reserved.
V 103.07b 05/11/16

Refers to rendering several frames per process, instead of just one frame per process. See Batching Frames for more info.

Chaining Jobs
Jobs which are interdependent on one another. Jobs can be made to wait for each other to complete using waitfor and waitforstate, or dependon. This sets things up so one job can wait for the data from another job to complete before starting. For examples, see how to chain jobs.

Cpu Server
The machine that actually runs the renders to generate frames. Communicates with the Job Server to take new frames.

Cpu Spec
A cpu specification that tells the render queue which cpus you want to render on, sometimes including the number of cpus, and the priority for each. e.g. +any=20@100k.

Error Messages
Some common error messages, and their meanings.

Connection refused
The remote machine's daemon is not running, is listening on the wrong network port, or has not initialized. Make sure rushd is running on the remote, and/or check the machine's rushd.log file.

Address already in use
You are running a program that is trying to use the same network port as another program that is already running, or, it means a program recently finished executing (within the last 90 seconds) that was using the same port as the program you're running, and the operating system is holding the port open for a 90 second timeout period.

rresvport(): Permission denied
Make sure the suid bit is set on the 'rush' binary, and that it is owned by root.

got 'uvw', expected 'xyz'
You are probably have mismatched versions of rush running on the network. Make sure you don't have different versions of the software running on the same network. If not, report the message to support; it may be a bug.

The name of the 'rush -lf' report, which shows a list of all the frames, and their current status.

Frame Logs
The stdout/stderr of each render goes into a log file; these logs are called 'frame logs'.

A keyword that represents a collection of hosts.

Job Server
The machine that acts as the arbitrator of the job; the 'master'. This machine communicates with all the cpuservers to tell them which frame to run next.

Log Rotation
Rotating log files (which are usually constantly growing) prevents them from growing too large. Refers to the act of renaming the log file out to another filename, to prevent it from growing any further. Usually log rotations keep only one generation of logs; each rotation overwrites the previous, so that only one generation of logs is ever maintained.

Nice, Niceness
Refers to the unix scheduling value which attempts to decrease a program's impact on the machine overall load, by making the process yield quickly to interactive users. Increasing the 'nice' value for a render makes it less noticable to interactive users of the machine, allowing the job to possibly go unnoticed.

Render Script
The script that runs every frame to render images. A render script should make use of the $RUSH_FRAME variable, and should return an exit code indicating success or failure of the rendered frame.

Submit Script
Tells the render queue how to start a new job. Running the submit script 'submits' the job to the system, starting it running.

Ascii Text Editor
An ASCII text editor would be an editor that is guaranteed NOT to introduce font formatting characters or other junk into the file being editor.

Examples of ASCII only editors would be eg. vi, pico, joe, kedit, gedit (mac/linux), or 'notepad' (windows).

Examples of NON-ASCII editors would be Microsoft Word (windows), TextEditor (mac), or any editors that support changing font faces, boldness, etc. These editors are bad, because they can introduce non-ascii characters into files, corrupting the files such that other programs can't read them.