CUPS / pycups: правильный способ получать уведомления о событиях - PullRequest
0 голосов
/ 20 сентября 2018

Я использую библиотеку pycups для связи с сервером CUPS.Мне нужно получать уведомления о состояниях заданий на печать, состояниях принтера и т. Д.

В настоящее время я создаю подписку на события через:

connection = cups.Connection()
connection.createSubscription(
    uri="/",
    recipient_uri="rss://dummy",
    events=['all'],
    lease_duration=0  # Subscription never expires
)

Затем я получаю подписанные события с:

connection = cups.Connection()
notifications = connection.getNotifications([subscription_id], [notify_sequence_number])

(notify_sequence_number здесь в основном используется для разбивки на страницы)

Этот подход работает, но я знаю, что это не тот способ, который я должен делать, потому что я поставляю фиктивную notify-recipient-uri дляподписаться, а затем запрашивать события сам.Я попытался реализовать реальный прослушиватель (http-сервер) и предоставил его uri как notify-recipient-uri, но я не получал все события (некоторые отсутствовали случайным образом) - поэтому я делаю это так.

Мой вопрос: есть ли лучший способ запрашивать выбранные типы событий?Или лучший способ подписаться на события без необходимости указывать notify-recipient-uri?

...