Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

initing a queue pointing to null device

Patrick_42
Contributor

initing a queue pointing to null device

Hi,

How can i define a printer queue pointing to null device so that print requests can be submitted and completed without consuming computing resources?

I have tried to initting queue pointing to node::nla0:

but when i attempt to start it, the following error prompts up and the queue fails to startup:

%SYSTEM-W-DEVALLOC, device already allocated to another user.

Regards,
Patrick.
19 REPLIES
Stanley F Quayle
Valued Contributor

Re: initing a queue pointing to null device

What are you really trying to do? Passing jobs through to nowhere will still use CPU resources...
http://www.stanq.com/charon-vax.html
Patrick_42
Contributor

Re: initing a queue pointing to null device

There are some "old printer queues" where the printer hardware is not functioning and at the same time, our developers are reluctant to revise their batch jobs not to submit print jobs to such queues since it will not affect the result of batch jobs.

As a result, thousands of pending jobs accumulated at the printer queues in a couple of days and i have to delete them periodically.

What I want to do is direct the submitted printer jobs to some "NULL" device so that the jobs will be consumed immediate after they are submitted.

I have tried to init the queue to null device by following command but failed:

$ init/queue queue1 /on=node::nla0: /start

I am still looking for other possible solution.

Thanks and Best Regards,
Patrick.
Benjamin Levy
Frequent Advisor

Re: initing a queue pointing to null device

This will work if you add the qualifier /PROC=DCPS$SMB

-Ben
Stanley F Quayle
Valued Contributor

Re: initing a queue pointing to null device

> This will work if you add the qualifier
> /PROC=DCPS$SMB

Only if you have DCPS installed, right?


It would be easy enough to create a batch job to cruise the queue(s) and delete the entries on a periodic basis.

Also, you can define system logical names so that all the entries go to the same queue, so that you only have to "cruise" one queue. For example,

$ define/system/exec QUEUE_1 QUEUE_NOWHERE
$ define/system/exec QUEUE_2 QUEUE_NOWHERE

This will cause jobs sent to QUEUE_1 or QUEUE_2 to be queued into QUEUE_NOWHERE.
http://www.stanq.com/charon-vax.html
Willem Grooters
Honored Contributor

Re: initing a queue pointing to null device

First of all:

.... our developers are reluctant to revise their batch jobs not to submit print jobs to such queues since it will not affect the result of batch jobs. ....

They _SHOULD_ be educated....

Anyway:

Just one execution queue, say "DEVELOPERS_PRINTER" printing to a regular (well working) printer, or, eventually, the bit-bin....(would it be possible: the devloper's terminal; THAT would teach them ;-))

Then redefine the queues the developer's seem reluctant to avoid, as /GENERIC and using DEVELOPERS_PRINTER as executing queue.

Willem Grooters
OpenVMS Developer & System Manager
Willem Grooters
Honored Contributor

Re: initing a queue pointing to null device

To clearify my previous message:

I am a developer myself.....
Willem Grooters
OpenVMS Developer & System Manager
Martin Johnson
Honored Contributor

Re: initing a queue pointing to null device

The easiest way to deal with the problem is to create a batch file to run nightly that deletes the queue(s), then recreates them. Deleting a queue automatically deletes all jobs in the queue (see "HELP DELETE/QUE").

This way the system automatically cleans up after itself and you don't have to do anything manually.

HTH
Marty
Stanley F Quayle
Valued Contributor

Re: initing a queue pointing to null device

Since there's thousands of files being created daily, it would seem likely (per Murphy's Law) that the queue would be deleted at the moment that something attempts to queue a file. I would recommend against that approach.

http://www.stanq.com/charon-vax.html
Martin Johnson
Honored Contributor

Re: initing a queue pointing to null device

He said thousands in a couple of days.

I'm sure Patrick can find a time in the wee hours of the morning when things are quiet. If not, he can make things quiet by stopping the batch queues and checking for job completion of running batches before deleting the queues.

I'm sure a little analysis of the job schedules and run times will reveal the best time to recycle the queues.

Marty
Benjamin Levy
Frequent Advisor

Re: initing a queue pointing to null device

If this is still an issue, one method that does work is specifying /PROC=DCPS$SMB
The DCPS kit no longer requires a separate
license PAK, but it probably still has to be installed separately with VMSINSTAL.
Robert Atkinson
Respected Contributor

Re: initing a queue pointing to null device

I have a similar problem.

We don't have any queues with a forms type of DEFAULT, but some programs and users insist on printing with this form.

I don't want a cleanup process running, and I don't need any of the output - I just want to dump it!

Is there any way this could be fed to a terminal server or LTA port that isn't connected to anything?
Sheldon Smith
Honored Contributor

Re: initing a queue pointing to null device

Take a look at the nullsymbiont (DBS-NULLSYMBIONT) on the v5.0 Freeware disks.

http://h71000.www7.hp.com/freeware/freeware50/dbs-nullsymbiont/

Last I tried, both the Alpha and VAX symbionts worked....

Note: While I work for Hewlett Packard Enterprise, all of my comments (whether noted or not), are my own and are not any official representation of the company.
----------
If my post was useful, click on my KUDOS! thumb below!
Art Wiens
Respected Contributor

Re: initing a queue pointing to null device

An alternative (we use it...it works) is to set up a queue that uses TTA0: as it's output device (assuming you don't have something connected to it). eg:

$ show queue/full the$bitbucket
Terminal queue THE$BITBUCKET, busy, on NODENAME::TTA0:, mounted form DEFAULT
/BASE_PRIORITY=8 /DEFAULT=(FEED,FORM=DEFAULT) Lowercase /OWNER=[SYSTEM] /PROTECTION=(S:RSMD,O:RSMD,G:RSMD,W:RS) /SCHEDULE=(NOSIZE)

Unwanted print jobs "spill onto the floor" at 9600 baud ;-)

HTH,
Art
John Gillings
Honored Contributor

Re: initing a queue pointing to null device

.TITLE NullSymbiont
;
; Module implementes a null symbiont -
; jobs entered on a queue using this
; symbiont will complete without
; producing any output.
;
; Build:
; $ MACRO NULLSYMB
; $ LINK NULLSYMB -
; /EXE=SYS$COMMON:[SYSEXE]NULLSYMB
; $ INITIALIZE/QUEUE/START queue-name
; /ON=(node::NL:)/DEVICE=PRINTER -
; /PROCESSOR=NULLSYMB
;
.LIBRARY 'SYS$SHARE:LIB'
$PSMDEF
$SSDEF
.EXTERNAL PSM$REPLACE,PSM$PRINT

.PSECT code,EXE,NOWRT
.ENTRY null_output_routine,^M<>
MOVL #SS$_NORMAL,R0 ; always succeeds
RET

.ENTRY Start,^M<>
PUSHAB null_output_routine
PUSHAL #PSM$K_OUTPUT
CALLS #2,G^PSM$REPLACE
BLBC R0,1$
PUSHAL #2048 ; buffer size
PUSHAL #16 ; accept 16 streams
CALLS #2,G^PSM$PRINT ; Start symbiont
1$: RET
.END Start
A crucible of informative mistakes
Frazer Toseland
Occasional Visitor

Re: initing a queue pointing to null device

Hi

I'm a bit late to this conversation but you can try this.

$ INIT/QUEUE sink /ON="TCPIP$QUEUE:NULL" /PROC=TCPIP$TELNETSYM

which sets up a TCPIP relay queue (sink) to another queue (NULL) that doesn't exist. The jobs will go from the queue but the symbiont will moan via OPCOM about the NULL queue (or whatever you call it) not being available.

To suppress the messages, define TCPIP$TELNETSYM_NO_OPCOM to be true.

This is from the TCPIP Services Management Guide.

Frazer
Lokesh_2
Esteemed Contributor

Re: initing a queue pointing to null device

Hi,

I also do , what Frazer has recommended, on my systems:

INITIALIZE/QUEUE/PROCESSOR=UCX$TELNETSYM/ON="UCX$QUEUE:NL:" null_queue

Thanks & regards,
Lokesh
What would you do with your life if you knew you could not fail?
Ian Miller.
Honored Contributor

Re: initing a queue pointing to null device

I do what Art Wiens said. Have a queue to TTA0 which is a serial port to which nothing is connected. Any print jobs quickly complete with no visable output. However I like the very small null symbiont from John Gillings and may look at implementing that.
____________________
Purely Personal Opinion
Stanley F Quayle
Valued Contributor

Re: initing a queue pointing to null device

I know it's been a long time, but how assigning some points to this questions? TIA.

http://www.stanq.com/charon-vax.html
Ian Miller.
Honored Contributor

Re: initing a queue pointing to null device

http://forums1.itrc.hp.com/service/forums/helptips.do?#33
____________________
Purely Personal Opinion