Как я могу узнать, когда задания печати CUPS были завершены, плюс информацию об этом задании? - PullRequest
1 голос
/ 17 сентября 2009

Мне нужно знать каждый раз, когда создается / завершается задание на печать Mac, плюс некоторая информация об этом задании (что было напечатано, страницы, копии и т. Д.).

Лучший метод, который я до сих пор придумал, - это использовать kqueue () в / var / spool / cups /, а затем анализировать файлы c ##### по мере их создания, но мне интересно, есть лучший способ.

Ответы [ 3 ]

1 голос
/ 06 июня 2010

Вы когда-нибудь смотрели, что вам предоставляет файл page_log ? Там есть справочная страница с подробностями о ее формате. Последние версии CUPS позволят вам настроить количество информации, зарегистрированной в этом файле.

1 голос
/ 17 сентября 2009

Я бы подумал о создании фильтра, который вы можете поместить в конвейер CUPS, который собирает эту информацию и сохраняет ее для вас (скажем, в базе данных). Затем вы можете получить доступ к базе данных, чтобы получить информацию, используя любой стандартный механизм доступа к базе данных. По сути, фильтр - это просто программа командной строки, которая получает ряд параметров, переданных ему из CUPS, и должна прочитать входные данные в stdin и записать их в стандартный вывод. Вы можете найти больше информации на http://www.cups.org/documentation.php/api-filter.html.

0 голосов
/ 09 декабря 2018

Рассматривали ли вы схемы IPP , поддерживаемые CUPS?

Это может вызвать уведомление mailto: или rss: при определенных событиях системы печати. Операции IPP, связанные с этой темой:

  • Create-Job-Subscriptions, Create-Printer-Subscriptions, Create-Resource-Subscriptions, Create-System-Subscriptions

Подробная информация об этой функции содержится в Руководстве по программированию CUPS:

...