[Printing-architecture] CUPS: fail-over without load-balancing
Michael Sweet
msweet at apple.com
Wed Jul 16 15:07:00 UTC 2014
Tim,
We've had a few requests for this functionality over the years. The current bug tracking it is:
http://www.cups.org/str.php?L1240
Right now the simplest thing to do is add a backend that implements the required functionality. Longer term we'll address STR #1240 as a manual operation that (temporarily) redirects jobs queued on one queue to another.
More comments inline...
On Jul 16, 2014, at 6:32 AM, Tim Waugh <twaugh at redhat.com> wrote:
> Hello!
>
> I'm investigating how to implement fail-over for CUPS, but without
> having load-balancing as a side effect.
>
> The usual way of implementing fail-over is simply to use classes, so
> that printers are used round-robin fashion.
>
> However, I'd like to implement fail-over as follows:
>
> Each class will have one active printer accepting jobs, and a fail-over
> printer not accepting jobs. When all is well, only the active printer
> will be in use.
>
> When the active printer fails, a daemon will spot this and start the
> fail-over printer accepting jobs.
This was basically the point of another feature request (STR #2878), however after we looked at implementing such a scheme it didn't seem workable - right now the class accepts the job and any printer in the class will process the job, regardless of the state of its "printer-is-accepting-jobs" attribute. And if you use change the class code to honor "printer-is-accepting-jobs", or use "printer-state" instead, you'll basically need printers that are dedicated to a particular class since most of the time they will be disabled/not accepting jobs.
In the end we decided the only thing that made sense was to track a selected/primary printer for the class, and have the admin change this when needed. And that is what STR #1240 is tracking, for any queue (even a class).
> ...
> Does this sound like the best approach? Is it something that would be
> best implemented as part of CUPS, or cups-filters, or a standalone
> project?
Long term this should be part of CUPS. Short term it can be implemented as a backend. I would hesitate to patch cupsd for this since you will introduce long-term support issues when we finally do add the functionality ourselves. At least with a backend the migration path is clear and can be staged over many releases.
_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4881 bytes
Desc: not available
URL: <http://lists.linuxfoundation.org/pipermail/printing-architecture/attachments/20140716/cfd5878e/attachment.p7s>
More information about the Printing-architecture
mailing list