Come faccio a sapere quando un processo di stampa CUPS è stato completato più informazioni su quel lavoro?

StackOverflow https://stackoverflow.com/questions/1440230

  •  10-07-2019
  •  | 
  •  

Domanda

Devo sapere ogni volta che un processo di stampa per Mac viene creato / completato, oltre ad alcune informazioni su quel processo (cosa è stato stampato, pagine, copie, ecc.)

Il metodo migliore che ho escogitato finora è usare kqueue () su / var / spool / cups / e quindi analizzare i file c ##### mentre vengono creati, ma mi chiedo se c'è un modo migliore.

È stato utile?

Soluzione

Penserei di creare un filtro che puoi inserire nella pipeline CUPS che raccoglie queste informazioni e le memorizza per te (diciamo in un database). Quindi è possibile accedere al database per ottenere le informazioni utilizzando qualsiasi meccanismo di accesso al database standard. Fondamentalmente il filtro è solo un programma da riga di comando che ottiene un numero di parametri passati da CUPS e deve leggere l'input su stdin e scriverlo su stdout. Puoi trovare maggiori informazioni su http://www.cups.org/documentation. php / api-filter.html .

Altri suggerimenti

Hai mai cercato cosa ti offre il file page_log ? C'è una pagina man che fornisce dettagli sul suo formato. Le versioni recenti di CUPS ti permetteranno di configurare la quantità di informazioni registrate in quel file.

Hai esaminato gli schemi Abbonamento IPP supportati da CUPS?

Questi potrebbero attivare una mailto: o una rss: su determinati eventi del sistema di stampa. Le operazioni IPP relative a questo argomento sono:

  • Crea-abbonamenti lavoro, Crea-abbonamenti stampante, Crea abbonamenti risorse, Crea abbonamenti sistema

I dettagli su questa funzione sono nel Manuale di programmazione CUPS:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top