# Compaq DECprint Supervisor (DCPS) for OpenVMS
System Manager's Guide

Previous | Contents | Index

# Chapter 5
Manipulating Print Jobs and Print Queues

This chapter describes the commands for maintaining and controlling print jobs, print queues, and the queue manager.

Some of the commands described in this chapter require privileges.

# 5.1 Displaying Print Job Status

You can use the SHOW ENTRY command to display the status of a print job. You do not need privileges to use this command to display your own print jobs, but privileges are required to display another user's print jobs.

The SHOW ENTRY command lists all your print jobs. To display the status of another user's print job, you must supply the job number with the SHOW ENTRY command or specify the user using the /USER qualifier. You can display the job numbers for all print jobs in a designated queue using the SHOW QUEUE/ALL command, as follows:

    $ SHOW QUEUE/ALL PS40$A12

    Printer queue PS40$A12, busy, on LEVEL::PS40, mounted form DCPS$DEFAULT
    (stock=DEFAULT)

      Entry  Jobname         Username     Blocks  Status
      -----  -------         --------     ------  ------
       304      MEMO         MSMITH            5  Printing

You can use the SHOW ENTRY/FULL command to display information about a specific print job. For example:

    $ SHOW ENTRY 304/FULL

    Entry  Jobname         Username     Blocks  Status
    -----  -------         --------     ------  ------
      304  MEMO            MSMITH            5  Printing
           On busy printer queue PS40$A12
           Submitted 14-MAR-2002 10:41
           /FORM=DCPS$DEFAULT (stock=DEFAULT) /NOTIFY
           /PRIORITY=100
           File: _$1$DUA10:[MSMITH]MEMO.TXT;1 (printing)

Note Print job status may be shown as "Printing" when the file has not yet actually started printing on the printer.

# 5.2 Deleting a Print Job

You can delete a print job using the DELETE/ENTRY command. You can delete you own print job without privileges. However, you must have privileges to delete another user's print jobs.

The DELETE/ENTRY command accepts the print job number as an argument. For example:

    $ DELETE/ENTRY=569

This command deletes print job 569. The system sends messages indicating the successful print job deletion.

The print job is terminated in a method that depends on the status of the print job when you issue the DELETE/ENTRY command.

If you issue DELETE/ENTRY... | DCPS software...
--- | ---
when the print job is printing, | may take several seconds to stop the print job. The printer prints data in its buffers, plus any required job trailer pages and job log pages. During this time, a SHOW QUEUE command displays the job's status as Aborting.
before a connection is established with a network printer, | prints no pages.
after the connection is established, | prints the job trailer page with a message indicating the fact that you deleted the print job.
before the job burst or job flag pages are printed, | may not print the job burst or job flag page. However, job trailer and job log pages are printed if the queue is set up to print them.

# 5.3 Releasing a Print Job in the Holding State

When a print job is in the Holding state, you must release it for it to print. The user can put a job in the Holding state using the PRINT/AFTER or PRINT/HOLD command. The user or system operator can put a print job in the Holding state using the SET ENTRY/HOLD command.

Use the SET ENTRY/RELEASE command to release the print job to be printed. You must specify the job number in the SET ENTRY command. This command does not require privileges if you are releasing a print job that you submitted. Privileges are required to release another user's print jobs.

For example:

    $ SET ENTRY/RELEASE 569

In this example, print job 569 was in the Holding state and was released for printing.

# 5.4 Requeuing Print Jobs

You can change the print queue for one or more print jobs, as described in the following sections.

## 5.4.1 Requeuing Pending Print Jobs

You can requeue a print job that has not started printing using the SET ENTRY/REQUEUE command. Without privileges, you can requeue your jobs. With privileges, you can requeue any print job that has not started printing. You must supply the job entry number with the SET ENTRY command. The /REQUEUE qualifier requires the name of the new print queue. For example:

    $ SET ENTRY/REQUEUE=POSTSCRIPT$DUPLEX 596

This command changes the print queue for job 596. The print job is sent to the POSTSCRIPT$DUPLEX queue.

## 5.4.2 Requeuing the Currently Printing Job to Another Queue

When a printer problem prevents completion of the printing job, you can requeue the print job to another printer. Use the STOP/QUEUE/REQUEUE command to send the print job to another print queue. You supply both the old queue name and the new queue name for this command. For example:

    $ STOP/QUEUE/REQUEUE=POSTSCRIPT$DUPLEX POSTSCRIPT$SIMPLEX

In this example, the print job that is currently printing on the queue POSTSCRIPT$SIMPLEX is stopped and requeued to POSTSCRIPT$DUPLEX. The POSTSCRIPT$SIMPLEX queue is not stopped and continues with printing the next job in the queue.

## 5.4.3 Requeuing Current and Future Print Jobs in a Queue

The ASSIGN/MERGE command allows you to specify that all print jobs in a certain queue, and those submitted later for that queue, are to be sent to another queue. The ASSIGN/MERGE command requires privileges. You must supply the old queue name and the new queue name. Use the following procedure:

1. Use the STOP/QUEUE/NEXT command to stop the malfunctioning print queue after the current print job has finished.
2. Use the STOP/QUEUE/REQUEUE command to requeue the currently printing job to the new queue.
3. Use the ASSIGN/MERGE command to cause all pending and future print jobs to be requeued. For example:

       $ STOP/QUEUE/NEXT PRINTER$NOTABLE
       $ STOP/QUEUE/REQUEUE=PRINTER$ABLE PRINTER$NOTABLE
       $ ASSIGN/MERGE PRINTER$ABLE PRINTER$NOTABLE

# 5.5 Modifying the Attributes of a Print Job

The SET ENTRY command allows a user to modify the attributes of a pending print job. You cannot modify a print job that has begun printing. If you have privileges, you can modify the attributes of print jobs submitted by other users. The SET ENTRY command requires that you specify the job number and allows you to specify one or more PRINT command qualifiers, which are listed in Appendix A. For example:

    $ SET ENTRY 596/PARAMETERS=PAGE_ORIENTATION=LANDSCAPE

This example changes a print job from portrait orientation to landscape orientation. If the original PRINT job contained any PRINT parameters, you must specify them all again when you modify any print parameters with the SET ENTRY/PARAMETERS command. If you do not respecify the PRINT parameters, the print job will be printed using the default parameter values for those not included in the SET ENTRY command.

# 5.6 Displaying a Queue

You can display a print queue, including its status, its attributes and the print jobs in the queue, using the SHOW QUEUE command. This command does not require privileges, unless you wish to view queue security information or view print jobs belonging to other users.

To display a specific queue, supply the queue name. To display all of the queues, omit the queue name from the SHOW QUEUE command. Use the commands in Table 5-1 to display information about queues.

Table 5-1 Commands to Display Queues
To list: | Enter:
--- | ---
The name and description of every print and batch queue | SHOW QUEUE
The names of all the print queues | SHOW QUEUE/DEVICE=PRINTER
All the jobs in all the queues | SHOW QUEUE/ALL
All the jobs in the specified queue | SHOW QUEUE/ALL queue-name
The attributes of all the queues | SHOW QUEUE/FULL
The attributes of a certain queue | SHOW QUEUE/FULL queue-name

# 5.7 Pausing a Queue

Use the STOP/QUEUE command to pause a queue. You must have privileges and supply the queue name to the STOP/QUEUE command.

You can pause the queue after the current print job has completed by using the STOP/QUEUE/NEXT command. This allows the current job to complete before pausing the queue. For example:

    $ STOP/QUEUE/NEXT PS$A4

This command pauses the queue PS$A4 after the current job has completed printing.

If it is necessary to pause the queue without waiting for the current job to complete, use the STOP/QUEUE/RESET command. For example:

    $ STOP/QUEUE/RESET PS$A4

This command pauses the queue PS$A4 and printing stops immediately.

Note When communications problems arise with a serial or raw TCP/IP interconnect, the symbiont will keep listening for up to 4 minutes before disconnecting from the printer. Therefore, under some conditions, the device is not released immediately after a STOP/QUEUE/RESET command is issued.

See Appendix A for more STOP/QUEUE qualifiers.

# 5.8 Starting a Queue

Use the START/QUEUE command to restart a print queue that has been paused with the STOP/QUEUE command. If you make changes to a print queue in DCPS$STARTUP.COM, restart the queue by executing the DCPS$STARTUP.COM file, as described in Section 3.6.

For example, to restart print queue PS40$A15, use the following command:

    $ START/QUEUE PS40$A15

If you interrupt a printing job when you stop the queue, the print job restarts when you restart the queue.

The logical name, DCPS$queuename_PID, is defined by the symbiont when it starts executing. This allows the system manager to determine which symbiont is assigned to a given queue, and is especially useful when using multi-streamed symbionts. See Section 3.4.1.

Note When a DCPS queue is started, the symbiont does not immediately attempt to make a connection to the printer, to minimize the possibility that the queue will not start. This is particularly important while starting queues at system boot time, to avoid introducing delays or errors into the boot process. It is not until DCPS starts processing a job from a queue that DCPS determines the state of the printer and its associated interconnect.

# 5.9 Modifying the Attributes of a Queue

You can temporarily modify the attributes of a print queue with the SET QUEUE command. When the printing system is restarted, the queue attributes you set with the SET QUEUE command are lost. To permanently modify print queue attributes, edit the DCPS$STARTUP.COM file.

The qualifiers to the SET QUEUE command are listed in Appendix A. Note that some print queue attributes cannot be set using the SET QUEUE command.

The following command limits the print jobs for the PS$DRAFT queue to those of 1000 blocks or less.

    $ SET QUEUE PS$DRAFT/BLOCK_LIMIT=1000

The SET QUEUE command requires privileges; you must supply the queue name and the appropriate qualifiers.

# 5.10 Preventing Users from Printing to a Queue

Use the SET QUEUE/CLOSE command to close a queue and prevent users from submitting print jobs to the queue. This command requires privileges and you must supply the queue name. For example:

    $ SET QUEUE/CLOSE PS$A4

After you enter this command, the PS$A4 queue is closed and users cannot submit print jobs to the queue. The print jobs that are currently in the queue are completed. You can open the print queue using the following command:

    $ SET QUEUE/OPEN PS$A4

# 5.11 Deleting a Queue

You can delete a print queue using the DELETE/QUEUE command. This command requires privileges. Follow these steps to delete a DECprint Supervisor queue:

1. Make sure that there are no generic queues running that are associated with the queue that you are deleting, by displaying the queue using the SHOW QUEUE/FULL command. If there are generic queues associated with the queue, delete the generic queues first.
2. Pause the queue using the STOP/QUEUE/NEXT command. Wait for the printing to stop on the printer before you delete the queue.
3. Requeue all the print jobs in the queue and future print jobs for the queue using the ASSIGN/MERGE command (see Section 5.4.3).
4. Delete the queue with the DELETE/QUEUE command. Enter the queue name as an argument to this command. For example, the following command deletes the queue PS$A4 and any print jobs that were pending in that queue.

       $ DELETE/QUEUE PS$A4

Remember to modify the DCPS$STARTUP.COM file to delete the queue permanently. Otherwise, when the printing system is restarted, the print queue you deleted will come back.

# 5.12 Responding to a Stalled Queue

Printers are reported as Stalled when the DECprint Supervisor does not receive information from the printer within a specified amount of time. When the stalled timeout value is exceeded, the following message is displayed:

    PRINTERSTALLED, Printer printer-name is stalled

You can alter the stalled printer timeout value be defining a logical:

    $ DEFINE/SYSTEM/EXECUTIVE DCPS$queuename_STALL_TIME "0 hh:mm:ss.00"

where hh:mm:ss.00 is an OpenVMS delta-time value specifying the desired time delay.

The default stalled timeout value is four minutes. Compaq recommends that you do not change this timeout value.

When you receive a message that the printer is stalled, you must determine if action is required. If the stalled message came from a networked printer (for example, a PrintServer printer), the stalled message probably indicates that a long time has passed between network communications and therefore you can safely ignore the stalled messages.

But if the stalled message follows other printer-related messages, they may indicate another reason for the long delay. The printer might be out of paper, or it might have a paper jam. Therefore, when a print queue is stalled, you should check your OPCOM messages to see if a printer condition was previously reported. Refer to Chapter 11 for more information.

DCPS may also temporarily define a system-wide logical giving some indication of why the queue is stalled. To examine this logical, execute the following command on the system where the execution queue is running. If the queue is on a VMScluster, be sure to use the appropriate cluster member.

    $ SHOW LOGICAL DCPS$queuename_STALLED

# 5.13 Stopping and Starting the Queue Manager

To stop and start all the queuing activity on the system, stop and start the queue manager. System shutdown and startup procedures perform these operations automatically. The commands to stop and start the queue manager require privileges.

You can stop the queue manager using the following command:

    $ STOP/QUEUE/MANAGER/CLUSTER

When you are ready to start the queue manager, enter the following command:

    $ START/QUEUE/MANAGER

Previous | Next | Contents | Index