我正在使用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
来订阅事件的更好方法?