[CentOS] CUPS job handling
hw
hw at gc-24.de
Fri Sep 6 10:19:50 UTC 2019
On Sun, 1 Sep 2019 11:04:02 -0600
Frank Cox <theatre at sasktel.net> wrote:
> On Sun, 1 Sep 2019 14:19:58 +0200
> hw wrote:
>
> > Yet if a printer doesn't print anymore, it is desirable to divert jobs
> > to another printer, preferably a designated fallback. It is of no use
> > when the jobs get stuck in the queue until the printer is being
> > maintained which can be days later.
>
> You might want to write a program that will check the printer queues on a regular basis and
> re-route the job if the printing stops.
>
> lpstat will tell you what's going on with the printer (check queue, is it online, etc)
>
> I don't know if there's an "official" way to recover a print job (you can research this yourself), but they are stored in /var/spool/cups so you could pull them directly from there if needed.
>
> A bit of glue code to link all of that together (check printer status every X minutes, if the next pending job from the last check is still not printing then recover all of the incomplete jobs, cancel the printing on the local printer, re-route the recovered jobs to a different printer) and you'll be all set.
It would take a lot more than a "bit of glue code" to do it, and it
might never work reliably. There's also probably no way to divert
jobs while a printer is disabled before they are being sent. And what
about jobs stored in the buffers of printers and print-servers? A job
stuck in a buffer and is no longer in the queue may be kinda difficult
to divert.
And how I do distinguish between a printer that is set to offline
because someone didn't (intentionally) press the button and a printer
which is not online for other reasons?
It's probably a bad idea unless all relevant information is available.
That's why it needs to be done by CUPS itself --- and even CUPS may
not have all the information.
More information about the CentOS
mailing list