CUPS/pycups: правильный способ получать уведомления о событиях
Я использую библиотеку 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
?