Configuring a Follow Me/Pull Print queue in CUPS to handle failed print jobs properly #650
-
Hello! We have a "Follow Me" queue set up on an Ubuntu 22.0.4 server, running CUPS 2.4.1, and I've noticed that currently, CUPS does not handle bad PDFs well with this particular queue. For reference, we set the IP for this "printer" as LPT1 because Follow Me queues are not attached to any one single device, rather, jobs sent to the Follow Me queue are simply held on the server until they are released at a specific printer. Since Follow Me is not a device, but rather a virtual queue, setting it up with a real IP address pointed to a real device doesn't make a lot of sense. Now, if I try to print a password-protected PDF, the job will fail as expected: However, CUPS will then try to connect to the printer at "LPT1", and determine that it cannot reach the printer. At this point, it seems like it determines the filter failure is unimportant, and instead cares more about the printer being unreachable, so it keeps the job 'active', causing other jobs behind it in the queue to never get processed (the log lines below are a direct continuation from the log lines above) : D [11/Apr/2023:12:50:28 -0400] [Job 524] STATE: +connecting-to-device If I change our Follow Me queue to use a "real" IP address, it handles the job as I would expect - the job is stopped due to the filter failure, it is no longer considered the 'active' job, and jobs queued behind it are permitted to process. So my question is this: What is the recommended way to configure a "Follow Me" queue in CUPS? It does not make sense to me to have it point to a real endpoint because there are no assurances that a single particular endpoint will always be reachable, and the Follow Me queue should not be dependent on the status of an unrelated print device. But I also cannot have malformed PDFs and password-protected PDFs gumming up the queue for my users. Thanks for your thoughts! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Well I feel a little silly, but our automated script for queue creation was appending the IPP backend to all of our printer URIs. by making Follow Me a NULL printer, the problem resolved itself (note that we use PaperCut MF, so the papercut backend is still required): |
Beta Was this translation helpful? Give feedback.
Well I feel a little silly, but our automated script for queue creation was appending the IPP backend to all of our printer URIs. by making Follow Me a NULL printer, the problem resolved itself (note that we use PaperCut MF, so the papercut backend is still required):
$ lpstat -v m-follow-me
device for m-follow-me: papercut:NULL