Non-blocking Print Queues

Kurt Pfeifle kpfeifle at danka.de
Fri Mar 23 04:28:27 PDT 2007


> Dear Kurt,
>
> Thanks for your information.  You are right that jobs in other
> queues would be okay if I disable the queue(s) to the problematic
> printer.

The way I read your problem description is this:

 (1) you have a problem with one (or a few queues). This blocks
     the queue(s) ["disables" them?]

 (2) this blocks the complete server too -- all queues can't print
     if only one of them is disabled

I may have misunderstood you though.

"(1)" is the standard behaviour of CUPS in 1.1.x. It is not a bug,
but the way it is designed in CUPS 1.1.x. This behaviour can only be
changed by using the "beh" addon script (written by Till) used as a
wrapper around all backends where you want to change (or finetune)
that behaviour. CUPS in the 1.2.x series has a way to individually
control the backend/queue behaviour with a means called "error policy"
(search for "ErrorPolicy" in the printers.conf reference document.)

"(2)" should never happen (and I never saw this happening either).
That is what astonished me.


> However, do you think it is possible to set CUPS such
> that either:
>
> (1) Problematic queues would be automatically disabled;

That's what automatically happens in CUPs 1.1.x if it behaves normally.

> or
> (2) [Preferred way to (1)] the queues simply operate independently,
> i.e. even if a job is sent to a problematic queue, it would not be
> blocking jobs that are sent to other queues;

That's what automatically happens in CUPs 1.1.x if it behaves normally.
In 1.2.x the "ErrorPolicy" setting (may be different for each queue)
controls how it should react in error conditions:

  (a) abort the one problematic job and proceed with the next
  (b) retry the job every $somany seconds
  (c) stop the queue and keep job for future investigation (default)

Cheers,
Kurt


> Thanks in advance!
>
> > > Ka Lim wrote:
> > > > Hi all,
> > > >
> > > > I am using cups 1.1.17 on Redhat and Fedora boxes, and have configured a number of print queues for different printers in my company's network.  However, I found that if one of the printers goes wrong (e.g. paper jam, go offline, network problem), all other print jobs would also be blocked in the cups spooler.  Is it possible to configure cups so that different print queues would be working independently?
> > > >
> > > > Thanks in advance.
> > >
> > > Cups itself has no such feature in the 1.1.x branch,
> >
> > Not entirely correct.
> >
> > If *one* queue is (auto-)disable, this should not affect the other
> > queues and should not block the complete server. Not even in CUPS
> > 1.1.x.
> >
> > *IF* such a thing happens, it is a different problem.
> >
> > But which?
> >
> > If *I* had this problem with a CUPS 1.1.17 version (which is more than
> > 4 years old!), I'd do three things:
> >
> >   FIRST, check the Release Notes on http://www.cups.org/relnotes.php
> >          for any indication of similar problems having been noticed and
> >          fixed in releases from 1.1.18 and later
> >   SECOND, increase "LogLevel" to "debug" and study what the error_log
> >          has to say when this happens, and when a new job is sent
> >   THIRD, install a newer version (if 1.2.x is too revolutionary, I'd go
> >          for the last 1.1.x release [1.1.23]) and that surely will help
> >          overcome that particular problem.
> >
> > > but this is available in the 1.2.x branch... There is a way to do
> > > this in 1.1.x, by adding the 'beh' backend error handler.
> > >
> > > You can find more about this at:
> > > http://www.linux-foundation.org/en/OpenPrinting/Database/BackendErrorHandler
> > >
> > > Good luck!
> > >
> > > Aukjan
> >
>





More information about the cups mailing list