 |
OpenVMS System Manager's Manual
14.7.2.3 Holding and Releasing a Job
Users can specify that a job be held in a queue before processing by
specifying one of the following qualifiers with the PRINT, SUBMIT, or
SET ENTRY command:
- /AFTER=time holds a job until the specified time.
- /HOLD holds a job indefinitely.
You can use the following commands to hold and release jobs:
Command |
Purpose |
SET ENTRY/HOLD
|
Holds a job in a queue indefinitely before processing.
|
SET ENTRY/AFTER=
time
|
Holds a job in a queue for processing after a specified time. To
specify /AFTER for a job on hold, you must also specify /NOHOLD to
cause the job to be held only until the specified time.
|
SET ENTRY/NOHOLD
|
Releases a job that is held in a queue for any of the following reasons:
- A job was submitted with the /HOLD or /AFTER qualifier.
- A completed job is being held in a queue by the /RETAIN qualifier.
For more information, see Section 14.6.2.
- A job was refused by a user-written symbiont.
|
SET ENTRY/NOAFTER
|
Releases a job before the time specified with the SET ENTRY command.
|
SET ENTRY/RELEASE
|
Releases a job that is held in a queue for any of the following reasons:
- A job was submitted with the /HOLD or /AFTER qualifier.
- A completed job is being held in a queue. For more information, see
Section 14.6.2.
- A user-written symbiont has refused a job.
|
Examples
- The following example holds a job until the specified time and
subsequently releases the job after that time:
$ SET ENTRY 1121/AFTER=12-FEB-2000:17:30
$ SET ENTRY/NOAFTER
|
- The following example holds a job until the end of the current day
(00:00:00.00 o'clock) and subsequently releases the job before that
time:
$ SET ENTRY 1121/AFTER=TODAY
$ SET ENTRY/NOAFTER
|
- The following example holds a job indefinitely and subsequently
releases it:
$ SET ENTRY 1234/HOLD
$ SET ENTRY 1234/RELEASE
|
14.7.2.4 Requeuing an Executing Job
To stop and requeue an executing print job, enter STOP/QUEUE/REQUEUE.
This command suspends a currently executing job and requeues it to the
specified queue. Other jobs remain pending in the queue until
they are processed.
Note
The STOP/QUEUE/REQUEUE command stops only the job currently executing
in the queue. The queue is not stopped.
|
Examples
- A job is executing in output execution queue BETA_LPB0 when the
printer on which the queue is running jams. If no other jobs are
pending in the queue, you might want to stop and requeue the job to a
queue running on another printer. Because the printer in this example
is jammed, you might also want to stop the queue. To do so, enter
commands similar to the following ones:
$ STOP/QUEUE/REQUEUE=BETA_LPA0 BETA_LPB0
$ STOP/QUEUE/RESET BETA_LPB0
|
The first command stops the executing print job on BETA_LPB0 and
requeues it to BETA_LPA0. The second command stops queue BETA_LPB0.
- If you are requeuing a job on a batch queue, you must include the
/ENTRY=n qualifier. For example:
$ STOP/QUEUE/ENTRY=1251/REQUEUE=FRED_BATCH WILMA_BATCH
|
To hold an aborted job, specify the /HOLD qualifier using the following
format:
STOP/QUEUE/REQUEUE[=queue-name]/HOLD[/ENTRY=entry-number] queue-name
|
The /HOLD qualifier places the aborted job in a hold state for later
release with the SET ENTRY/RELEASE or SET ENTRY/NOHOLD command.
To change the scheduling priority of the aborted job, specify the
/PRIORITY qualifier using the following format:
STOP/QUEUE/REQUEUE[=queue-name]/PRIORITY=n[/ENTRY=entry-number] queue-name
|
Specify the new priority as n.
14.7.2.5 Requeuing a Pending Job
To requeue a job that is pending in a queue to a different queue, enter
SET ENTRY/REQUEUE. For example:
$ SET ENTRY/REQUEUE=LN03$PRINT 196
|
This command moves job 196 to the queue LN03$PRINT.
14.7.2.6 Deleting a Job
Follow this procedure to delete either a pending or an executing batch
job:
- Determine the entry number of the job by entering a command using
one of the following formats:
SHOW ENTRY/USER_NAME=username [entry-number]
|
SHOW QUEUE/ALL_JOBS [queue-name]
|
If you do not know the job name, user name, or queue name, enter
the following command:
$ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING
|
- Delete the job by entering a command in the following format:
DELETE/ENTRY=(entry-number)[,...]
|
Example
A user has noticed that a job is processing in an endless loop. The
user is not the owner of the job and lacks sufficient privilege to stop
it. The user enlists your aid as the system manager. You might enter
the following command:
$ SHOW QUEUE/BATCH/ALL_JOBS/BY_JOB_STATUS=EXECUTING
Batch queue JADE_BATCH, available, on JADE::
Entry Jobname Username Status
----- ------- -------- ------
312 ARTWORK HUNTER Executing
Batch queue OPAL_BATCH, available, on OPAL::
Entry Jobname Username Status
----- ------- -------- ------
317 STOCKS CHANDLER Executing
Batch queue RUBY_BATCH, available, on RUBY::
Entry Jobname Username Status
----- ------- -------- ------
888 TEMPO ENGLISH Executing
$ DELETE/ENTRY=317
|
14.7.2.7 Pausing an Output Queue to Control Print Job Position and Alignment
Pausing an output queue lets you communicate with the print symbiont
interactively. Enter STOP/QUEUE (without any qualifiers) to pause a
queue.
Once a queue is paused, you can perform the following operations:
- Specify the position at which a suspended job is to resume
printing. For example, suppose a printer has a paper jam and the first
several pages of a print job are destroyed. You can pause the queue and
restart the job, resuming printing at the beginning of the file.
For more information, see Section 14.7.2.7.1.
- Specify the number of pages and the type of data for aligning
printer forms. For example, suppose a printer uses a paper stock that
is a preprinted continuous-form paper. When you begin printing a job,
you notice the paper is not correctly aligned, so output does not print
in the correct space on the preprinted form. You can pause the queue
and print sample data to help you correct the paper alignment.
For
more information, see Section 14.7.2.7.2.
Note
To perform these tasks, you must enter STOP/QUEUE after the
job has begun printing.
|
14.7.2.7.1 Specifying the Position of Print
By default, when you pause a queue and restart it, printing resumes in
the current job at a checkpoint near where it left off. To specify the
position at which the current job is to resume printing, pause the
queue, then enter START/QUEUE with any of the following qualifiers:
Qualifier |
Description |
/BACKWARD[=
n]
|
Restarts a print queue
n pages before the current page;
n defaults to 1. If you omit the value, printing resumes at
the top of the current page.
|
/FORWARD[=
n]
|
Advances the specified number of pages before resuming printing the
current file in the current job; the default is 1. If you omit the page
value, printing resumes at the top of the next page.
|
/SEARCH=
"search-string"
|
Specifies that printing is to resume at the page containing the
specified string. The search for the string moves forward, beginning on
the page following the current page. During the search, consecutive
tabs and spaces are treated as a single space, and character case is
ignored. The string can be from 1 to 63 characters and must be enclosed
in quotation marks (" ").
|
/TOP_OF_FILE
|
Resumes printing at the beginning of the file that was current when the
output execution queue paused.
|
When you must use more than one positioning qualifier with the same
START/QUEUE command, file positioning is performed in the following
order:
- /TOP_OF_FILE
- /FORWARD
- /BACKWARD
- /SEARCH
Examples
- In the following example, STOP/QUEUE suspends the job that is
currently printing on the printer queue JADE_PRINT and places that
queue in the paused state. The START/QUEUE command releases the queue
from the paused state. The /TOP_OF_FILE qualifier causes the job that
was suspended to resume printing at the beginning of the file rather
than at where it was interrupted.
$ STOP/QUEUE JADE_PRINT
$ START/QUEUE/TOP_OF_FILE JADE_PRINT
|
- In the following example, START/QUEUE resumes output on printer
SYS_LPA0 after advancing 15 pages from the beginning of the file:
$ START/QUEUE/TOP_OF_FILE/FORWARD=15 SYS_LPA0
|
14.7.2.7.2 Aligning Print Forms
To print alignment data to aid in aligning printer forms, pause the
queue, then enter START/QUEUE with the /ALIGN qualifier in the
following format:
START/QUEUE/ALIGN[=(option[,...])]
|
The following options control the number of alignment pages and type of
alignment data:
Option |
Description |
MASK
|
Specifies that input data is masked by replacing alphabetic characters
with the character X and numbers with the number 9. Mask characters let
you prevent the printing of sensitive information. If you omit the MASK
option, data is printed unaltered.
|
n
|
A decimal number in the range 1 to 20 that specifies the number of
alignment pages to print. By default, one page of alignment data is
printed.
|
You can use the /ALIGN qualifier with any of the file positioning
qualifiers described in the previous section. File positioning is
performed before alignment data is printed. After the alignment is
complete, the queue enters a paused state until you restart it by
reentering START/QUEUE. Printing resumes from the point that alignment
data started; that is, the task is backspaced over the pages printed
for alignment.
Example
The command in the following example requests masked alignment for four
pages of output. In this example, the file for the job that was being
printed when the queue was paused is backspaced two pages before
alignment is performed. Four pages of alignment mask characters are
printed. Then the output for the current job is positioned backward
four pages, and the queue pauses.
$ START/QUEUE/BACKWARD=2/ALIGN=(MASK,4) SYS_LPA0
|
14.8 Solving Queue Problems
The following sections can help you solve common queue problems:
14.8.1 Determining the Cause of General Printer Problems
The following steps can help you determine the cause of general printer
problems:
- Enter a command in the following format to determine the status of
the queue with which the printer is associated:
SHOW QUEUE/FULL queue-name
|
Table 14-5 lists and describes queue statuses.
- Enter the SHOW LOGICAL/FULL SMBSRVSHR command to determine whether
the logical name SMBSRVSHR is assigned, and, if it is assigned, its
access mode (SUPERVISOR_MODE or EXECUTIVE_MODE). In most cases, this
logical name should not be defined. However, if SMBSRVSHR is assigned,
deassign it by entering the DEASSIGN SMBSRVSHR command with the
/USER_MODE, /SUPERVISOR_MODE, or /EXECUTIVE_MODE qualifier.
- If a print request returns a fatal error or does not print, perform
the following steps:
- Stop the queue by entering STOP/QUEUE/RESET.
- If the output device is spooled, despool it using the SET
DEVICE/NOSPOOLED command.
- Copy the file you are attempting to print by entering the COPY
command in the following format:
COPY input-filespec output-filespec
|
If the COPY command does not produce output, a PRINT request will
not work.
- If the problem is on a queue using the LATSYM symbiont, try using
the default symbiont, PRTSMB, and see if the problem persists. You can
use the PRTSMB symbiont for printers on LAT ports. However, only one
queue at a time will be able to send jobs to the printer.
To determine whether a queue is using the LATSYM symbiont, enter SHOW
QUEUE/FULL. If the queue is using the LATSYM symbiont, the display
shows the following words: /PROCESSOR=LATSYM.
To change the queue's symbiont to PRTSMB, perform the following steps:
- Stop the queue by entering STOP/QUEUE/RESET.
- Restart the queue by entering START/QUEUE/NOPROCESSOR.
If a PRINT request succeeds when the queue is using PRTSMB, the problem
is with LATSYM or with the LAT driver LTDRIVER.
- Attach a terminal at the end of the cable that is being used for
the printer. If the data shows up on the terminal, the Hold Screen key
works, and no data is lost, the problem is probably with the printer
(an incorrect setting, for example). If the problem exists with the
terminal, it might be caused by the cable, the hardware interface port,
or a hardware port setting.
14.8.2 Making Pending Jobs Eligible for Scheduling
If a job does not execute when expected, the job might have a pending
or holding status. The SHOW QUEUE/FULL/ALL_JOBS command displays the
status for all jobs on a queue.
If the job is in a holding status, see Section 14.7.2.3 for information
about holding and releasing a job.
If the job is in the pending state, the /FULL qualifier enables you to
see the reason why the job is ineligible to execute. (Use a
132-character wide display to make sure that all the information is
displayed.)
For example:
$ SHOW QUEUE/FULL/ALL_JOBS/BY_JOB_STATUS=PENDING
Generic printer queue REG$GENERIC
/GENERIC=(REG$Q1,REG$Q2,REG$Q3)/OWNER=[SYSTEM]/PROTECTION=(S:M,O:D,G:R,W:R)
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
684 PROBLEMS CHURCHILL 3118 Pending (check execution queues)
Submitted 7-MAR-2000 17:49 /FORM=DEFAULT /NOTIFY /PRIORITY=100
File: _$5$DUA174:[CHURCHILL]PROBLEMS.TXT;2
Printer queue REG$Q1, stopped, on LONDON::NPA1, mounted form DEFAULT
/BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/OWNER=[SYSTEM]
/PROTECTION=(S:M,O:D,G:R,W:R)
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
687 PM$SPEECH CHURCHILL 3558 Pending (queue stopped)
Submitted 7-MAR-2000 17:51 /FORM=DEFAULT /NOTIFY /PRIORITY=100
File: _$5$DUA174:[CHURCHILL]PM$SPEECH.TXT;1 (checkpointed)
|
A job enters the pending status whenever the job is not eligible to
execute. Table 14-8 lists common causes and solutions for a pending
status.
Table 14-8 Common Causes and Solutions for Pending Job Status
Problem |
Solution |
The queue is currently processing as many jobs as it can.
|
Wait until intervening jobs complete.
|
The queue is stopped or stalled.
|
If a SHOW QUEUE/FULL command shows the queue status as stopped or
stalled, determine why the queue is stopped or stalled.
If the queue is stopped, start it with START/QUEUE. If the stopped
queue is an autostart queue, use START/QUEUE to activate the queue and
ENABLE AUTOSTART/QUEUES to start the queue.
If the queue is stalled, follow the steps in Section 14.8.3.
|
The stock of the print job's form does not match the stock of the
queue's mounted form.
|
Perform the steps in Section 14.8.2.1.
|
The job was submitted or modified with characteristics not associated
with the queue.
|
Perform the steps in Section 14.8.2.2.
|
The queue has a block limit set and the size of the print job does not
fall within the specified range.
|
Use SET ENTRY/REQUEUE to move the job to another queue, or use SET
QUEUE/[NO]BLOCK_LIMIT to change or remove the block limit on the queue.
|
The owner of the job does not have write access to the execution queue.
|
Use SET ENTRY/REQUEUE to move the job to another queue, or change the
access to the queue as explained in Section 14.6.1.
|
The print job is in a logical queue that is assigned to a stopped
execution queue.
|
Use SET ENTRY/REQUEUE to requeue the job to another queue or start the
execution queue to which the logical queue is assigned.
|
An output job requires an output device that is enabled for lowercase
printing.
|
If the printer supports lowercase printing, use the /LOWERCASE
qualifier with SET PRINTER or SET TERMINAL. Otherwise, use SET
ENTRY/REQUEUE to move the job to an execution queue that sends its
output to a printer with lowercase printing enabled.
|
|