Vital to the understanding of UUCP is the concept of jobs. Every transfer a user initiates with uucp or uux is called a job. It is made up of a command to be executed on a remote system, and a collection of files to be transferred between sites. One of these parts may be missing.
As an example, assume you issued the following command on your host, which makes UUCP copy the file netguide.ps to host pablo, and makes it execute the lpr command to print the file.
UUCP does not generally call the remote system immediately to execute a job (else you could make do with kermit). Instead, it temporarily stores the job description away. This is called spooling. The directory tree under which jobs are stored is therefore called the spool directory and is generally located in /var/spool/uucp. In our example, the job description would contain information about the remote command to be executed (lpr), the user who requested the execution, and a couple of other items. In addition to the job description, UUCP has to store the input file, netguide.ps.
The exact location and naming of spool files may vary, depending on some compile-time options. HDB-compatible UUCP's generally store spool files in a directory named /var/spool/uucp/site, where site is the name of the remote site. When compiled for Taylor configuration, UUCP will create subdirectories below the site-specific spool directory for different types of spool files.
At regular intervals, UUCP dials up the remote system. When a connection to the remote machine is established, UUCP transfers the files describing the job, plus any input files. The incoming jobs will not be executed immediately, but only after the connection terminates. This is done by uuxqt, which also takes care of forwarding any jobs if they are designated for another site.
To distinguish between important and less important jobs, UUCP associates a grade with each job. This is a single letter, ranging from 0 through 9, A though Z, and a through z, in decreasing precedence. Mail is customarily spooled with grade B or C, while news is spooled with grade N. Jobs with higher grade are transferred earlier. Grades may be assigned using the -g flag when invoking uucp or uux.
You can also disallow the transfer of jobs below a given grade at certain times. This is also called the maximum spool grade allowed during a conversation and defaults to-z. Note the terminological ambiguity here: a file is transferred only if it is equal or above the maximum spool grade.