def remote_updateDeviceConfigs(self, configs): """ Called remotely by ZenHub when asynchronous configuration updates occur. """ if configs is None: return for config in Zipper.load(configs): self.remote_updateDeviceConfig(config)
def remote_deleteDevices(self, deviceIds): """ Called remotely by ZenHub when devices we're monitoring are deleted. """ # guard against parsing updates during a disconnect if deviceIds is None: return for devId in Zipper.load(deviceIds): self._deleteDevice(devId)
def remote_updateDeviceConfigs(self, configs): """ Called remotely by ZenHub when asynchronous configuration updates occur. """ if configs is None: return configs = Zipper.load(configs) self.log.debug("remote_updateDeviceConfigs: workerid %s processing %s device configs", self.options.workerid, len(configs)) for config in configs: self.remote_updateDeviceConfig(config)
def sendDeviceConfigs(self, configs): deferreds = [] def errback(failure): self.log.critical("Unable to update configs for service instance %s: %s" % (self.__class__.__name__, failure)) for listener in self.listeners: options = self.listenerOptions.get(listener, None) deviceFilter = self._getOptionsFilter(options) filteredConfigs = filter(deviceFilter, configs) args = Zipper.dump(filteredConfigs) d = listener.callRemote('updateDeviceConfigs', args).addErrback(errback) deferreds.append(d) return deferreds
def remote_deleteDevices(self, deviceIds): """ Called remotely by ZenHub when devices we're monitoring are deleted. """ for devId in Zipper.load(deviceIds): self._deleteDevice(devId)