Package Products :: Package ZenHub :: Module notify :: Class BatchNotifier |
[hide private]
[frames] | no frames]

# Class BatchNotifier

source code

    object --+
             |
            BatchNotifier

Processes the expensive getSubDevices call in batches. A singleton instance is registered as a utility in zcml. The queue contains NotifyItem instances. If notify_subdevices is called and an item exists in the queue for the same device class, then the new service UID and notify function are appended to the existing item. Once an item is moved from the queue to _current_item member, it is being processed and further notify_subdevices calls for the same device class will append a new item to the queue.

Instance Methods | [hide private]
__init__(self) | source code
notify_subdevices(self, device_class, service_uid, notify_function) | source code
_find_or_create_item(self, device_class) | source code
_create_deferred(self) | source code
_call_later(self, d) | source code
_switch_to_next_item(self) | source code
_call_notify_functions(self, device) | source code
_callback(self, result) | source code
_errback(self, failure) | source code
stop(self) | source code
whenEmpty(self) | source code

Class Variables | [hide private]
| _BATCH_SIZE = `10`
| _DELAY = `0.05`

Method Details | [hide private]

### __init__(self) (Constructor) | source code
Overrides: object.__init__ (inherited documentation)