Elegant way for a non-standard job processing!

Protas Oleksiy elfy.ua at gmail.com
Thu Jul 31 04:14:03 PDT 2008


Hi!

I am an administrator of a small student computer lab and a CUPS user. In our lab we planned to implement a somewhat sophisticated printing job processing scheme, but we do not know the most elegant way to do it with CUPS. Here is what we are wanting:
We have a set of 'workstation' PCs. They are set to use our sole printer which is situated on the main server. We are wanting every job sent from a workstation to be automatically put into suspended state and then sent directly to printing after a user program(non-CUPS software). Moreover we want our software to gain statistics from the job such as page count, username and PostScript file(or whatever is sent to the server).

Here are our ideas:
a) Thin client. CUPS is put on the loopback and our software is listening on the network. All data is processed and stored, printer state requests are forwarded directly, job requests are forwared upon the IPC command. Seems very ugly though :(

b) Helper daemon. CUPS somehow suspends all the jobs sent to it, our software reacts the IPC commands and depending on that activates, deletes jobs or gains info on them via CUPS API. Seems to be more viable but we haven't found yet how to suspend all incoming IPP jobs without touching local LP ones.

Could you advice something? Maybe there is some standard way to do it?

PS: we are using linux, gentoo




More information about the cups mailing list