I have been looking at the problem of 'fast' LPRng print servers,
Samba, and 'mysterious vanishing jobs'.
When you send a job to the LPRng print server it puts it in a spool
directory. After printing it, by default, it removes the job.
If it prints it fast enough then when you do an LPQ you do not see the
job in the spool queue.
One way to solve this is to keep the status of the last 'N' jobs around
so that you can see them. HOWEVER, this may (will?) break some systems
that parse the LPQ output status (Samba for one?) to find job status.
However, the benefit is that you can now see what happened to the last
jobs you sent to the printer.
This looks like a winner to me, folks.
Here is the proposed outline of the modifications:
New options:
a) done_jobs=X - keep the last X 'completed' jobs around
b) done_jobs_max_age=X - remove 'done' jobs after X seconds
Note: this interacts with the 'save_when_done' and 'save_on_error' flags.
New Actions:
On job completion:
if( (no error && save_when_done)
|| (error && save_on_error)
|| done_jobs > 0 || done_jobs_max_age > 0 ){
do not remove job
}
On queue update/queue status operations:
if( !(save_on_error || save_when_done) ){
while( done_jobs_max_age >= 0
&& the time since completion of oldest done job > done_jobs_max_age ){
remove the oldest done job
}
while( done_jobs >= 0 && total number of done jobs > done_jobs ){
remove the oldest done job
}
}
Any comments?
Patrick Powell Astart Technologies,
[EMAIL PROTECTED] 9475 Chesapeake Drive, Suite D,
Network and System San Diego, CA 92123
Consulting 858-874-6543 FAX 858-279-8424
LPRng - Print Spooler (http://www.lprng.com)
-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------