Я использую библиотеку 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
?